1.jquery にはフィルタリング API find があります。
構文は次のように非常に単純です:
HTML コード:
<p><span>Hello</span>, how are you?</p>
jQuery コード:
$("p").find("span")
結果:
[ <span>Hello</span> ]
しかし、これは $('p span') API とまったく同じではありません。なぜこの find を使用する必要があるのでしょうか?
今日、アプリケーションのシナリオに遭遇したことがわかりました。
シーンは次のようになります。div.skill があります。マウスがその上を通過すると、そのサブセレクター div.'skill-text'、
に新しいクラスを追加する必要があります。
学生の中には、なぜイベント委任を使用しないのかと尋ねる人もいるかもしれません:
$('.skill').on('mouseover',‘.skill-text',function(e){ $(this).addClass('skill-active'); });
後で '.skill' の処理コードがあり、同様の .skill が多数あるため、$('.skill') を介して直接操作することはできず、this または e.target; を使用する必要があります。
$('.skill').on('mouseover',function(e){ $(this).find('.skill-text').addClass('skill-active'); //.......其余代码 });
このような状況では非常に便利です。 CSSセレクターを使用してオブジェクトを直接見つけることができないためです。
それ以外に良い方法が思いつきません。ネイティブ JS が見つからない場合はどうやって記述すればよいでしょうか。 。 。 。 【疑わしい】
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。