0

jQuery("div#someid")HTML が無効で、同じ「someid」を持つ div 要素が多数ある場合に返されるもの。それらの div の最初のものを返しますか? それともランダムですか?

4

3 に答える 3

6

セレクターは、ブラウザーごとに異なる結果をもたらします。

いくつかのテストはこれらの結果を示しています:

Firefox 19: All elements
IE 10: All elements
IE 9: All elements
IE 8: All elements
IE 7: One element
Chrome 25: All elements

結果は、jQueryのバージョン、ページレンダリングモード、オペレーティングシステムなどの他の要因によっても異なる場合があります。競合するid属性で一貫した結果を期待することはできません。

于 2013-03-22T10:10:58.390 に答える
2

それを知るための最良の方法は、試してみることです。このフィドルhttp://tinker.io/cba17で実際の動作を確認してください。答えは、そのIDを持つすべてのdivのセットを返すことです。ただし、HTMLは無効であるため、そのような状況を避け、代わりにクラスを使用してください。

$('#someid'また、 )と$('div#someid') :の使用には違いがあることに注意してください。

$('#someid')は、そのIDを持つ最初のdivを返します。

$('div#someid')上に投稿したフィドルに示されているように、すべての要素を含む完全なセットが返されます。

于 2013-03-22T10:07:13.640 に答える
0

同じIDを持つことは無効です...したがって、それを避けて...クラスを使用する必要があります...(エラーはスローされませんが)とにかく、セレクターは同じIDを持つそのdivの最初の出現を返します..

于 2013-03-22T10:05:36.567 に答える