closest() 方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上。
语法:
.closest(selector)
参数selector为字符串值,包含匹配元素的选择器表达式。
如果给定表示 DOM 元素集合的 jQuery 对象,.closest() 方法允许我们检索 DOM 树中的这些元素以及它们的祖先元素,并用匹配元素构造新的 jQuery 对象。.parents() 和 .closest() 方法类似,它们都沿 DOM 树向上遍历。两者之间的差异尽管微妙,却很重要:
.closest() | .parents() |
从当前元素开始 | 从父元素开始 |
沿 DOM 树向上遍历,直到找到已应用选择器的一个匹配为止。 | 沿 DOM 树向上遍历,直到文档的根元素为止,将每个祖先元素添加到一个临时的集合;如果应用了选择器,则会基于该选择器对这个集合进行筛选。 |
返回包含零个或一个元素的 jQuery 对象 | 返回包含零个、一个或多个元素的 jQuery 对象 |
まず次の例を見てください。closest() を使用してイベントの委任を完了する方法を示しています。最も近いリスト要素またはその子孫要素をクリックすると、黄色の背景が切り替わります
- クリックしてください! > ;
- クリックしてください!
<script><BR> $( document ) .bind("click", function( e ) {<BR> $( e.target ).closest("li").toggleClass("hilight");<BR> });<BR></script>
1. 「You can also」をクリックすると色が変わります。これは、最近接要素が現在の要素から上に向かってトラバースされるためです。 parents() メソッドとは異なり、現在の要素の親要素から開始して上方向にトラバースします。
2. Click me!をクリックすると色も変わります。これも上記の手順を経て、現在の要素から上に一致します。ただし、 は条件を満たさず、上に行くときに
3. デモの例については、http://www.w3school.com.cn/tiy/t.asp?f=jquery_traversing_closest
例 2:
- I
-
- A
- B
- 1
- 3
">2 li>
"
"
" - C
- III
$('li.item-a').closest('ul').css('background-color', 'red');
結果:
これにより、レベル 2
- の色が変更されます。これは、その要素が DOM ツリーを上に移動するときに最初に見つかったものであるためです。
以下に示すように:
要素を検索しているとします。
$('li.item-a').closest('li').css('background-color', 'red');
これにより、リスト項目 A の色が変更されます。 .closest() メソッドは、DOM ツリーを上にたどる前に、セレクターが項目 A と一致するまで li 要素自体から検索します。
例 3
DOM 要素をコンテキストとして渡し (つまり、検索の最大範囲を制限し)、その中で最も近い要素を検索できます。
var listItemII = document.getElementById('ii ');
$('li.item-a').closest('ul', listItemII).css('background-color', 'red');
$('li.item-a ').closest('#one', listItemII).css('background-color', 'green');
上記のコードはレベル 2
- の色を変更します。これは両方ともリストであるため、項目 A の最初の祖先はリスト項目 II の子孫でもあります。
レベル 1
- はリスト項目 II の子孫ではないため、色は変更されません。

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

このチュートリアルでは、カスタムGoogle検索APIをブログまたはWebサイトに統合する方法を示し、標準のWordPressテーマ検索関数よりも洗練された検索エクスペリエンスを提供します。 驚くほど簡単です!検索をyに制限することができます

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

この記事シリーズは、2017年半ばに最新の情報と新鮮な例で書き直されました。 このJSONの例では、JSON形式を使用してファイルに単純な値を保存する方法について説明します。 キー価値ペア表記を使用して、あらゆる種類を保存できます

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

コアポイント これは通常、メソッドを「所有」するオブジェクトを指しますが、関数がどのように呼び出されるかに依存します。 現在のオブジェクトがない場合、これはグローバルオブジェクトを指します。 Webブラウザでは、ウィンドウで表されます。 関数を呼び出すと、これはグローバルオブジェクトを維持しますが、オブジェクトコンストラクターまたはそのメソッドを呼び出すとき、これはオブジェクトのインスタンスを指します。 call()、apply()、bind()などのメソッドを使用して、このコンテキストを変更できます。これらのメソッドは、与えられたこの値とパラメーターを使用して関数を呼び出します。 JavaScriptは優れたプログラミング言語です。数年前、この文はそうでした

jQueryは素晴らしいJavaScriptフレームワークです。ただし、他のライブラリと同様に、何が起こっているのかを発見するためにフードの下に入る必要がある場合があります。おそらく、バグをトレースしているか、jQueryが特定のUIをどのように達成するかに興味があるからです

この投稿は、Android、BlackBerry、およびiPhoneアプリ開発用の有用なチートシート、リファレンスガイド、クイックレシピ、コードスニペットをコンパイルします。 開発者がいないべきではありません! タッチジェスチャーリファレンスガイド(PDF) Desigの貴重なリソース


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
