jquery_jquery の要素内の特定のサブ要素を取得するコード

WBOY
リリース: 2016-05-16 16:29:33
オリジナル
1177 人が閲覧しました

私が以前に作成した JQUERY アプリケーションの一部は非常に基本的なプログラミングであり、「$('.class')」、「$('#id')」、「$( ' など) のセレクターに対する高度な要件はありませんでした」 #id>.class')"、"$(this)"、"$(this).parent()"、"$(this).children()" はすべて解決できます。

問題は、ul 内の特定の li のスパンを選択したいときに発生します。プログラミングを容易にするために、li は $('ul>li').eq(i) を使用して選択されるためです。ただし、問題は依然として発生する可能性があります。前の方法で解決しましたが、コードが少し肥大化して非効率であるといつも感じます。 JQUERY は現在のすべての JS フレームワークの中で最も効率的なコードとして知られているため、大量のコードでこの問題を解決することは不可能です。

JQUERYのAPIを振り返ってみると、今まで気づかなかった、今回にぴったりの文があることに気づきました。つまり、$(セレクター 1).find(セレクター 2) となります。以前に紹介文を読んで見つけましたが、使用されないため常に無視されていました。

find() の使用方法は次のとおりです
API による説明: 指定された式に一致するすべての要素を検索します。この関数は、処理中の要素の子孫要素を見つけるための優れた方法です。

使用法: $(セレクター 1).find(セレクター 2)

Xiaoju Inn のホームページでフォーカス写真を撮り、DL の下の DD でクラス「.focusphoto」を持つスパンを見つけてフェードアウトします。

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

$('.focusphoto>dl>dd).eq(i).find("span").fadeOut('slow');

短いドラマで find() の理解を話します

私のアプリケーションは実際には代わりにchildren()を使用できますが、これはfind()とchildren()の使用法が同じであることを意味するものではなく、この場合、find()の存在は意味がありません。クエリの深さが 1 レベルの場合、この 2 つは類似点がありますが、相違点は次のとおりです。 find() はサブクエリ セレクターであり、クエリ選択のために子の下位レベルまで進むことができ、children() は子 A のみです。次のレベルの要素のみを選択できるレベル セレクター。

もちろん、上記はドラマ内の人々の単なる意見です。間違いや不完全な点があれば、修正してください。ありがとうございます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート