jquery的find()

來源:互聯網
上載者:User

標籤:class   find   包含   item   title   匹配   說明   簡單   lis   

jQuery 遍曆 - find() 方法

jQuery 遍曆參考手冊

執行個體

搜尋所有段落中的後代 span 元素,並將其顏色設定為紅色:

$("p").find("span").css(‘color‘,‘red‘);

親自試一試

定義和用法

find() 方法獲得當前元素集合中每個元素的後代,通過選取器、jQuery 對象或元素來篩選。

文法
.find(selector)
參數 描述
selector 字串值,包含供匹配當前元素集合的選取器運算式。
詳細說明

如果給定一個表示 DOM 元素集合的 jQuery 對象,.find() 方法允許我們在 DOM 樹中搜尋這些元素的後代,並用匹配元素來構造一個新的 jQuery 對象。.find() 與 .children() 方法類似,不同的是後者僅沿著 DOM 樹向下遍曆單一層級。

.find() 方法第一個明顯特徵是,其接受的選取器運算式與我們向 $() 函數傳遞的運算式的類型相同。將通過測試這些元素是否匹配該運算式來對元素進行過濾。

請思考下面這個簡單的嵌套列表:

<ul class="level-1">  <li class="item-i">I</li>  <li class="item-ii">II    <ul class="level-2">      <li class="item-a">A</li>      <li class="item-b">B        <ul class="level-3">          <li class="item-1">1</li>          <li class="item-2">2</li>          <li class="item-3">3</li>        </ul>      </li>      <li class="item-c">C</li>    </ul>  </li>  <li class="item-iii">III</li></ul>

我們將從列表 II 開始來尋找其中的清單項目:

$(‘li.item-ii‘).find(‘li‘).css(‘background-color‘, ‘red‘);

親自試一試

這次調研的結果是,項目 A、B、1、2、3 以及 C 均被設定了紅色背景。即使項目 II 匹配選取器運算式,它也不會被包含在結果中;只會對後代進行匹配。

與其他的樹遍曆方法不同,選取器運算式對於 .find() 是必要參數。如果我們需要實現對所有後代元素的取回,可以傳遞通配選取器 ‘*‘。

選取器 context 是由 .find() 方法實現的;因此,$(‘li.item-ii‘).find(‘li‘) 等價於 $(‘li‘, ‘li.item-ii‘)。

對於 jQuery 1.6,我們還可以使用給定的 jQuery 集合或元素來進行篩選。還是上面的嵌套列表,我們首先這樣寫:

var $allListElements = $(‘li‘);

然後將這個 jQuery 對象傳遞給 find 方法:

$(‘li.item-ii‘).find( $allListElements );

親自試一試

上面的代碼會返回一個 jQuery 集合,其中包含屬於列表 II 後代的列表元素。

類似地,也可以傳遞一個元素:

var item1 = $(‘li.item-1‘)[0];$(‘li.item-ii‘).find( item1 ).css(‘background-color‘, ‘red‘);

親自試一試

這次調用的結果是項目 1 被設定為紅色背景。

jquery的find()

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.