用法
.find( selector ) => jQuery
.find( selector ) => jQuery
說明:獲取當前匹配元素集中每個元素的後代,由選擇器、jQuery 對象或元素過濾。
-
添加的版本:1.0
.find( selector )
-
selector類型:Selector一個字符串,包含一個選擇器表達式來匹配元素。
-
-
添加的版本:1.6
.find( element )
-
element用於匹配元素的元素或 jQuery 對象。
-
給定一個表示一組 DOM 元素的 jQuery 對象,.find()
方法允許我們在 DOM 樹中搜索這些元素的後代,並從匹配的元素構造一個新的 jQuery 對象。 .find()
和.children()
方法是相似的,隻是後者隻在 DOM 樹中向下移動一層。
.find()
方法的第一個簽名接受與我們可以傳遞給 $()
函數的類型相同的選擇器表達式。將通過測試是否匹配此選擇器來過濾元素;選擇器的所有部分都必須位於調用 .find() 的元素內。允許的表達式包括像 > p
這樣的選擇器,它將查找作為 jQuery 對象中元素的子元素的所有段落。
考慮一個帶有基本嵌套列表的頁麵:
|
如果我們從第 II 項開始,我們可以在其中找到列表項:
|
此調用的結果是項目 A、B、1、2、3 和 C 上的紅色背景。即使項目 II 匹配選擇器表達式,它也不包含在結果中;隻有後代被認為是匹配的候選者。
與大多數樹遍曆方法不同,在調用 .find()
時需要選擇器表達式。如果我們需要檢索所有後代元素,我們可以傳入通用選擇器'*'
來完成此操作。
Selector context 是用 .find()
method;
實現的,因此 $( "li.item-ii" ).find( "li" )
等效於 $( "li", "li.item-ii" )
。
從 jQuery 1.6 開始,我們還可以使用給定的 jQuery 集合或元素過濾選擇。使用與上麵相同的嵌套列表,如果我們從以下內容開始:
|
然後傳遞這個 jQuery 對象來查找:
|
這將返回一個 jQuery 集合,其中僅包含作為項目 II 的後代的列表元素。
類似地,也可以傳遞一個元素來查找:
|
此調用的結果將是項目 1 上的紅色背景。
例子:
從所有段落開始並搜索後代跨度元素,與$( "p span" )
相同
|
演示:
使用所有 span 標簽的 jQuery 集合的選擇。隻有 p 標簽內的 span 變為紅色,而其他的則為藍色。
|
演示:
在每個單詞周圍添加跨度,然後添加一個懸停並用字母 t 斜體化單詞。
|
演示:
相關用法
- JQuery .finish()用法及代碼示例
- JQuery .first()用法及代碼示例
- JQuery .filter()用法及代碼示例
- JQuery .focus()用法及代碼示例
- JQuery .fadeTo()用法及代碼示例
- JQuery .fadeToggle()用法及代碼示例
- JQuery .focusout()用法及代碼示例
- JQuery .focusin()用法及代碼示例
- JQuery .fadeOut()用法及代碼示例
- JQuery .fadeIn()用法及代碼示例
- JQuery .jquery用法及代碼示例
- JQuery .scroll()用法及代碼示例
- JQuery .add()用法及代碼示例
- JQuery .contextmenu()用法及代碼示例
- JQuery .undelegate()用法及代碼示例
- JQuery .load()用法及代碼示例
- JQuery .contents()用法及代碼示例
- JQuery .empty()用法及代碼示例
- JQuery UI .labels()用法及代碼示例
- JQuery UI .addClass()用法及代碼示例
- JQuery .click()用法及代碼示例
- JQuery UI .toggleClass()用法及代碼示例
- JQuery .removeAttr()用法及代碼示例
- JQuery .addClass()用法及代碼示例
- JQuery UI .cssClip()用法及代碼示例
注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .find()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。