0

だから私はHTMLリストを持っています

<ul>
  <li id="item-foo"></li>
  <li id="item-bar"></li>
  <li id="zoop"></li>
</ul>

Javascript では、 ID に基づいてリスト項目の配列を取得したいと考えています。基本的に、ID が で始まる場合はitem-、配列で取得したいと考えています。

私がこれを行った最初の方法は、DOM 内のすべてのアイテムをループし、ID を文字列として取得し、その方法で照合することでした。より良い方法はありますか?

4

4 に答える 4

3

他の回答で述べたように、jQuery セレクターは正常に動作しますが、これはjQuery のみの機能ではなく、 W3C で指定されている DOM セレクターであること[id^='item-']注意してください。 つまり、jQuery のようなモノリシックなツールキットを含めたくない場合は、より特別なセレクターを使用できるようにするには、次のように記述します。

var itemIds = document.querySelectorAll("li[id^='item-']");

そして、あなたはそこにいます。
さらに、これは jQ よりも高速になります。jQ は、vanillaJS の速度に匹敵することはありません。ここで jQ を使用する必要はないので、使用しないでください。JQは人生を楽にすることができますが、この場合はそうではありません。セレクターは同じなので、jQ は必要ありません。
jQ がここで行うことは、速度を落とし、悪いコードを書くのを助けることだけです... 申し訳ありません... 私はそれを私の胸から取り除く必要がありました。

于 2013-10-27T16:44:23.870 に答える
2

jQuery の適切なセレクターは次のようになります。

$('li[id^="item-"]')

于 2013-10-27T16:38:16.490 に答える
1

セレクターを使用:var some_array = $("li[id^='item-']")ここから: http://api.jquery.com/attribute-starts-with-selector/

于 2013-10-27T16:38:41.757 に答える
0

$("[id^='item-'"]

jQuery を使用したい場合、そのセレクターは探しているものを提供するはずです。

于 2013-10-27T16:38:34.250 に答える