ホームページ >ウェブフロントエンド >jsチュートリアル >jqueryをベースにしたhas()メソッドとfind()メソッド、filter()メソッドとの違いの詳細説明_jquery

jqueryをベースにしたhas()メソッドとfind()メソッド、filter()メソッドとの違いの詳細説明_jquery

WBOY
WBOYオリジナル
2016-05-16 17:35:081113ブラウズ

has(selector or DOM element) 条件としてセレクターまたは DOM 要素に基づいて一致する要素のセットを設定し、各要素の子孫に条件が存在するかどうかを取得し、条件を満たす要素で新しい結果セットを形成します。状態。

以下は例です:

コードをコピーします コードは次のとおりです:


  • リスト項目 1

  • リスト項目 2
    span>a
リスト項目 2-a
  • リスト項目 2-b



  • 3

  • リスト項目 4




  • コードをコピー コードは次のとおりです:
    $('li').has('span').css('background-color', 'red') ;


    得られた結果は次のとおりです:

    この例からわかるように、li を照合する場合、li の子孫要素に spam が含まれているかどうかを確認します。そうである場合、その要素は結果に含まれます。含まれていない場合は除外されます。

    注: は判断としてのみ機能します。 has パラメータのセレクターまたは DOM 要素を条件として使用して、元の結果セット内の要素が一致するかどうかを確認します。一致しない要素を削除し、一致する要素を含む新しい結果セットを形成します。

    これは、現在の結果セット内の各要素の子孫を取得する find() メソッドとは異なります。パラメーター (セレクター、jquery コレクション、または DOM 要素) はフィルター条件として使用され、フィルター条件を満たすものは保持され、保持されるものは子孫になります。 has() メソッドでは、パラメーターは条件としてのみ使用されます。条件が満たされると、その前の要素が子孫ではなく新しい結果セットに追加されます。

    $('li').find('span').css('background-color', 'red');
    結果は次のとおりです:

    filter() メソッドと has() メソッドのパラメータはすべてフィルタリング条件です。違いは、filter() メソッドでは条件がそれ自体に適用されるのに対し、has() メソッドでは条件がその子孫要素に適用されることです。

    次の例を見てみましょう。 filter() メソッドでは、条件がそれ自体

    li に適用され、has() メソッドの条件が li 子孫要素

    • リスト項目 1

    • リスト項目 2

      • < ;div>a
      • リスト項目 2-a

        < /li>
      • リスト項目 3

      • リスト項目 4





    • $('li').filter( '.a').css( 'background-color', 'red');


      結果は次のようになります:


    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    前の記事:さまざまな種類のフォームクラス(テキストボックス)がフォーカスを失う効果次の記事:さまざまな種類のフォームクラス(テキストボックス)がフォーカスを失う効果

    関連記事

    続きを見る