has(selector or DOM element) 条件としてセレクターまたは DOM 要素に基づいて一致する要素のセットを設定し、各要素の子孫に条件が存在するかどうかを取得し、条件を満たす要素で新しい結果セットを形成します。状態。
以下は例です:
この例からわかるように、li を照合する場合、li の子孫要素に spam が含まれているかどうかを確認します。そうである場合、その要素は結果に含まれます。含まれていない場合は除外されます。
注: は判断としてのみ機能します。 has パラメータのセレクターまたは DOM 要素を条件として使用して、元の結果セット内の要素が一致するかどうかを確認します。一致しない要素を削除し、一致する要素を含む新しい結果セットを形成します。
これは、現在の結果セット内の各要素の子孫を取得する find() メソッドとは異なります。パラメーター (セレクター、jquery コレクション、または DOM 要素) はフィルター条件として使用され、フィルター条件を満たすものは保持され、保持されるものは子孫になります。 has() メソッドでは、パラメーターは条件としてのみ使用されます。条件が満たされると、その前の要素が子孫ではなく新しい結果セットに追加されます。
$('li').find('span').css('background-color', 'red');
filter() メソッドと has() メソッドのパラメータはすべてフィルタリング条件です。違いは、filter() メソッドでは条件がそれ自体に適用されるのに対し、has() メソッドでは条件がその子孫要素に適用されることです。
li に適用され、has() メソッドの条件が li 子孫要素
< /li>
結果は次のようになります: