ブラウザの JavaScript コンソールでこれを試してください。
$('<p><span id="wow">FooBar</span></p>').filter('#wow')
私が得るものは[]
です。何故ですか?IDが「すごい」ではないスパンを除外することになっていませんか?
ブラウザの JavaScript コンソールでこれを試してください。
$('<p><span id="wow">FooBar</span></p>').filter('#wow')
私が得るものは[]
です。何故ですか?IDが「すごい」ではないスパンを除外することになっていませんか?
jQuery オブジェクトには 1 つの要素しかなく、p
. span
たまたま子供です。次に、 p はクエリと一致せず、フィルターは空の配列を返します。find を使いたいかもしれません:
$('<p><span id="wow">FooBar</span></p>').find('#wow')
.filter()
一致した要素のセットをフィルタリングします。要素セット内の唯一の要素は<p>
タグであり、セレクターと一致しません。
.find()
代わりに使用したい:
> $('<p><span id="wow">FooBar</span></p>').find('#wow')
[<span id="wow">FooBar</span>]
フィルターにより、条件に一致するアイテムが表示されます。私はあなたが「ない」を使うことを意味していると思います。
ドキュメントのセレクターの構文を見てください。要素が見つかったかどうかに応じて、結果もゼロコレクションになる可能性があります。
id セレクターを引数として jQuery() (または $()) を呼び出すと、0 個または 1 個の DOM 要素のコレクションを含む jQuery オブジェクトが返されます。