0

少し醜いですが、$("ul")[0]私が使用すると機能するので、それはjQueryオブジェクトではないということですか。$($("ul")[0]).find("li")

直接$("ul")[0]使用できない理由を知っている人はいますか?find

4

5 に答える 5

5

それは正しい; jQuery オブジェクトは、DOM 要素の配列の拡張として機能します。それらのいずれかにインデックスでアクセスすると、別の jQuery オブジェクトではなく、生の DOM オブジェクトが取得されます。オブジェクトが表す要素の 1 つだけの jQuery オブジェクトにアクセスする場合は、次を使用しますeq

$('ul').eq(0).find('li')
于 2013-08-01T03:58:55.147 に答える
1

あなたは正しいです -$("ul")[0]はjQueryオブジェクトではありません。これは DOM ノード (HTMLUListElement正確には ) です。

これが機能する理由$($("ul")[0]).find("li")は、jQuery オブジェクトをパラメータとして関数に渡すことで、DOM ノードから jQuery オブジェクトを構築できるから$です。$("<ul>")たとえば、ulノードを作成し、それを jQuery オブジェクトにラップします。

于 2013-08-01T03:58:52.257 に答える
1

$("ul:eq(0)")または$("ul").eq(0)代わりに使用できます

于 2013-08-01T03:59:08.887 に答える