2011-10-28 9 views
0

私はidを割り当てる代入関数を持っています。 '#mycooldiv' + idNumberjQueryを使用したgetElementById?

var div = document.getElementById('#mycooldiv' + idNumber);以内にそれを使用 - - 後には動作しないため、即ちよう

$('#mycooldiv' + idNumber).text();

私はこれを取ることができますどのように思ったんだけど?

私も

var elem = $('#mycooldiv' + idNumber); 
var div = document.getElementById(elem); 

を試してみました、それは同様に失敗?

+0

jqueryを使用している場合は、document.getElementByIdを使用する目的は何ですか。 'var elem = $( '#mycooldiv' + idNumber);'と 'var div = document.getElementById( 'mycooldiv' + idNumber);はどちらも同じです –

+0

いいえ - そうではありません。いくつかのクロスブラウザーコードは、jQueryを使用しないほうが適切です。なぜあなたはいつもjQueryソリューションに戻るのですか?ときには、jQueryの解決策が常にベストであるとは限りません。 – Andy

+0

jQueryを使用している場合は、両方を使用しないでください。私はすでに前のコメントでこの作業を行うための両方の方法について言及しています –

答えて

5

document.getElementByIdはIDが必要です。#は必要ありません。直接getElementByIdを呼び出すよりも効率だし、要素が存在しないエラーがないことをjQueryのセレクタの優位性を失うもちろんかかわら

var div = document.getElementById('mycooldiv' + idNumber);

+0

私にはそうではないことを教えてください。大丈夫、私は恥ずかしさに驚いています* :) – Andy

+0

それは_is_の場合、申し訳ありません。 jQueryセレクタはCSSセレクタに基づいていますので、 '#'接頭辞はidを意味し、 '.'接頭辞はクラスを意味し、接頭辞は要素タグ名を意味しません。 – nnnnnn

1
var elem = $('#mycooldiv' + idNumber); 
var div = elem[0]; 

0

あなたは本当に解決策に近いです。 $()という表記法はあなたの要素を与えているので、あなたの場合、これはうまくいくでしょう:

var div = $('#mycooldiv'+idNumber); 

これはあなたが望む要素です。

EDIT:あなたはのdocument.getElementByIdを使用して主張する場合、あなたが書く必要があります。

var div = document.getElementById('mycoodiv'+idNumber); 

#の-notationだけjQueryを使って使用し、CSSの構文ウィッヒjQueryの用途(にIDを示し、遠くなるさdocument.getElementByIdよりも強力で汎用性があります)。

+0

こんにちは - 応答のおかげで、それは私が探しているものではありません。 – Andy

+0

私の編集を参照してください。 ;) – Atheist

関連する問題