2009年12月20日
jQuery #idでは一つし要素か選択できない、同じIDを持つ複数要素を選択するには
そもそもIDというのは一つのページ内でユニークなはずですが、
何らかの理由で同じIDを持つ形になったとしましょう。
その場合普通のjQueryの#idセレクタでは一つの要素(順番的に最初に合致した要素)しか選択できません。
そこで[id=xx]の形で属性フィルタで全ての選択することができます。
以下サンプルコードです。
$("#foo").css("background-color","gray");
$("[id=bar]").css("background-color","green");
<h2>use #id selector</h2>
<input type="text" id="foo" value="Text1" />
<input type="text" id="foo" value="Text2" />
<h2>use attribute selector *id=xx*</h2>
<input type="text" id="bar" value="Text3" />
<input type="text" id="bar" value="Text4" />
<input type="text" id="bar" value="Text5" />
Demo
以下のjsfiddleで実際実行してみてくださいー