jQuery dom traversal:Web要素を簡単に制御
この記事では、jQuery Dom Traversal Methodを詳細に調査し、jQueryを使用してWebページ要素を簡単に選択し、ページ内の他の要素との関係に基づいて動作する方法を示します。
コアポイント:
eq
、first
、last
、slice
、filter
、map
、children
jQueryは、親、子供、または兄弟の要素にアクセスするためのDOMトラバーサル方法も提供します。これらの方法には、find
、parent
、parents
、closest
、siblings
、prev
、prevAll
、next
、nextAll
、add
、addBack
、end
およびcontents
。 not
、
、、
、が含まれます。これらの方法は、選択に要素を追加したり、以前の要素のセットに復元したり、選択から特定の要素を除外したりするのに役立ちます。
要素フィルタリング 選択をより具体的な要素にフィルタリングする方法から始めましょう。他の要素に対する位置や、特定のクラスがあるかどうかなど、多くの条件に基づいて要素をフィルタリングできます。ほとんどの場合、選択を開始するよりも少ない要素を選択することになります。 以下は、さまざまなフィルタリング方法のリストです。eq
- このメソッドは、一致する要素を指定したインデックスにある要素に削減します。インデックスはゼロから始まります。したがって、最初の要素を選択するには、$("selector").eq(0)
を使用する必要があります。バージョン1.4から始めて、最初ではなく最後から要素をカウントする負の整数を提供できます。 first
およびlast
- first
メソッドは、一致する要素セットの最初の要素のみを返し、last
は一致する要素セットの最後の要素を返します。どちらのメソッドもパラメーターを受け入れません。 slice
- インデックスが特定の範囲内にあるコレクション内のすべての要素を探している場合は、slice()
を使用できます。この方法は、2つのパラメーターを受け入れます。最初のパラメーターは、メソッドがスライスを起動する場所の開始インデックスを指定し、2番目のパラメーターは選択が終了するインデックスを指定します。 2番目のパラメーターはオプションであり、省略されている場合、インデックスが開始インデックス以下のすべての要素が選択されます。 filter
- このメソッドにより、要素セットがセレクターに一致する要素に、またはこのメソッドに渡す関数で設定された条件を介して減少します。以下は、セレクターを使用する例です
$("li").filter(":even").css( "font-weight", "bold" );
この関数を使用して、次のようなより複雑な選択を実行することもできます。
$("li") .filter(function( index ) { return index % 2 === 0; }) .css( "font-weight", "bold" );
これは、少なくとも2つの
タグを持つ要素のみを選択します。.filter(function( index ) { return $( "span", this ).length >= 2; })
<span></span>
map
get
dom traversal jQueryは、親、子、または兄弟の要素にアクセスするための多くの有用な方法を提供します。それらを1つずつ紹介しましょう:
children
- この方法により、要素セット内の各要素の子要素を取得できます。これらの子要素は、オプションでセレクターによってフィルタリングできます。 find
- このメソッドは、セレクターまたは要素によってフィルタリングされる一致する要素セットの各要素のすべての子孫を取得します。この場合、find()
に渡されたセレクターパラメーターはオプションではありません。すべての子孫を取得したい場合は、このメソッドのパラメーターとしてUniversal Selector(*
parent
parents
とparent()
の違いは、前者が1つのレベルを上方に横断するのに対し、parents()
はドキュメントのルート要素まで上向きに移動することです。 parents()
closest
とparents()
の間には2つの有意差があります。 closest()
要素の親要素からトラバーサルを開始し、parents()
は要素自体からトラバーサルを開始します。もう1つの違いは、closest()
は一致が見つかるまでDOMツリーを通過するだけであり、closest()
はドキュメントのルート要素に到達するまで上に移動することです。 parents()
siblings
prev
prevAll
next
nextAll
DOMを横断する場合、選択に元のコレクションに関連しない要素を追加する必要がある状況に遭遇するか、以前の要素セットに復元する必要があります。 jQueryは、これらすべてのタスクを実行するために使用できるいくつかの機能を提供します。
add
- このメソッドは、既存の要素のリストに追加された新しい要素を含む新しいjQueryオブジェクトを作成します。新しい要素が既存のコレクションに追加されるという保証はないことを忘れないでください。 add
addBack
メソッドを使用できます。 addBack
end
contents
メソッドを使用できます。また、この方法を使用して、contents
のコンテンツを取得することもできます(<iframe></iframe>
がページと同じドメインにある場合)。 <iframe></iframe>
not
ではない要素のサブセットのみを選択したい場合は、を使用できます。バージョン1.4から始めて、この方法は、特定の条件に基づいて各要素をテストするための引数として関数を受け入れることもできます。これらの条件を満たす要素は、フィルタリングされたセットから除外されます。
not()
jQueryのこれらすべてのメソッドは、ある要素のセットから別のセットに簡単に通過する簡単な方法を提供します。これらの方法のいくつかは互いに非常に似ているので、私はあなたがそれらに特に注意を払うことをお勧めします。
とまたはparents()
とclosest()
の違いを理解することで、場合によっては何時間ものトラブルを節約できます。 next("selector")
nextAll("selector").eq(0)
この記事を楽しんだことを願っています。他の読者と共有したいヒントがある場合は、以下にコメントしてください!
jQuery dom traversal faq
jQuery dom traversalの意味は何ですか?
jQuery Dom Traversalは、従来のJavaScript Dom操作とどう違うのですか?
.parent()
および.children()
メソッドを説明できますか? メソッドは、要素の直接の親要素を選択するために使用されます。たとえば、.parent()
を使用して
<div>要素の内部に<code><div>要素がある場合は、<code>.parent()
を選択します。一方、メソッドは、要素のすべての直接子要素を選択するために使用されます。前の例で
.children()
要素にを使用した場合、
.children()
を選択します。 <div>
jQueryのメソッドと<h3>メソッドの違いは何ですか? <code>.find()
.children()
と
の両方のメソッドは、子孫要素を選択するために使用されますが、それらはわずかに異なる動作をします。 .find()
メソッドは、1つのレベルの下方のみを通過します。つまり、直接の子要素のみを選択することを意味します。ただし、.children()
メソッドは、DOMツリーの複数のレベルを横断することができます。つまり、直接の子要素だけでなく、要素のすべての子孫を選択できます。 .children()
.find()
jquery dom traversalで
.siblings()
メソッドは、選択した要素のすべての兄弟要素を選択するために使用されます。同時要素とは、同じ親要素を共有する要素を指します。たとえば、1つに要素内に複数の要素がある場合、他のすべての要素を選択します。 .siblings()
jQuery dom traversalの
<div>メソッドの目的は何ですか? <code><div>
<code>.siblings()
jQueryの<div>メソッドは、特定のインデックス番号を持つ要素を選択するために使用されます。同じタイプの複数の要素があり、DOMの位置に基づいてそれらのいずれかを選択したい場合に特に便利です。インデックス番号は0から始まるため、は最初の要素を選択し、<h3>は2番目の要素などを選択します。 <code>.eq()
jQuery dom traversalで
および.eq()
メソッドを説明できますか? .eq(0)
.eq(1)
jQueryの
.first()
要素を持っている場合、.last()
を使用すると、グループ内の最初のは最後の.first()
を選択します。 .last()
<div>jquery dom traversalで<code>.first()
メソッドを使用するにはどうすればよいですか? <div>
<code>.last()
jQueryの<div>メソッドは、特定の条件を満たす要素を選択するために使用されます。関数をメソッドに渡すことができます。これにより、関数が返す要素のみが<h3>になります。これにより、より複雑な選択基準を作成し、要素の属性またはコンテンツに基づいて要素を選択できます。 <code>.filter()
.not()
メソッドの目的は何ですか? jQueryの.not()
メソッドは、コレクションから要素を削除するために使用されます。これは、.filter()
メソッドの反対です。セレクター、関数、またはjQueryオブジェクトを.not()
メソッドに渡すことができます。これにより、コレクションのパラメーターに一致するすべての要素が削除されます。
.has()
メソッドを説明できますか? メソッドは、特定の子孫を持つ要素を選択するために使用されます。セレクターまたはjQueryオブジェクトを.has()
メソッドに渡すことができます。これにより、パラメーターに一致する少なくとも1つの要素を含むすべての要素を選択できます。これは、要素が何であるかに基づいて要素を選択する場合に役立ちます。 .has()
以上がjquery dom traversalの包括的な見方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。