• ベストアンサー

jqueryのid取得について

jqueryで、チェックボックスのidを取得する際に、 以下の書き方の場合、id$は、getElementByIdのエイリアスと思いますが、 その場合、[ ]の中の部分は、getEletementById="1"になるかとおもいますが、 そうなった場合、文法エラーにならないでしょうか。通常getElementById('要素名') と思うので。 id$="+ i +"をどのように解釈したらよいか教えてください。 どうぞよろしくお願い致します。 ###################################### for (i=1; i<10 ; i++){ $("input[id$="+ i +"]:checked").attr("checked",false); } ######################################

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

質問者さんはjQueryをちょっと誤解されています。 jQueryのセレクタは、「getElementByIdのエイリアス」なんかではない、もっと高度な処理を行います。 そして、もう一つのポイントは、セレクタに指定するのはJavaScriptの文字列であるということです。 > $("input[id$="+ i +"]:checked") これは、$(ほげほげ) と指定するセレクタ内が、「"input[id$="+ i +"]:checked"」というJavaScriptの文字列式になっています。 さらに細かく見るなら、文字列"input[id$="と、変数 i と 文字列"]:checked"を「+」演算子で連結したもの、という式です。 これは、例えばループの中でi=1の時は、"input[id$=1]:checked"という文字列になりますし、i=9の時は"input[id$=9]:checked"という文字列になります。 この文字列をjQeueryのセレクタとして使った場合、 例えば「$("input[id$=1]:checked")」という処理を行う場合、、 ・"input": タグが input で http://semooh.jp/jquery/api/selectors/element/ ・"[id$=1]": 属性 id が 1で終わっていて http://semooh.jp/jquery/api/selectors/%5Battribute+end+value%5D/ ・":checked": チェックが入っている http://semooh.jp/jquery/api/selectors/%3Achecked/ という3つの条件を全て満たした要素を選択することになります。 そういう要素なJQueryオブジェクトに対して 「.attr("checked",false)」というメソッドを呼び出す、ということにになります。http://semooh.jp/jquery/api/attributes/attr/key%2Cvalue/

heyyohe
質問者

お礼

ありがとうございます! 非常にご親切な解説で助かります。 感謝します!

すると、全ての回答が全文表示されます。

関連するQ&A