首頁 > web前端 > js教程 > jquery中取得元素裡某一特定子元素的程式碼_jquery

jquery中取得元素裡某一特定子元素的程式碼_jquery

WBOY
發布: 2016-05-16 16:29:33
原創
1231 人瀏覽過

之前做的一些JQUERY應用都是些很基礎的編程,對於選擇器要求不高,像類似於“$('.class')”、“$('#id')”、“$( '#id>.class')」、「$(this)」、「$(this).parent()」、「$(this).children()」這些簡單的語句都能解決的。

問題的出現​​是我要選擇一個ul裡某個的li中的一個span,因為要利於編程,li是用$('ul>li').eq(i) 來做的選擇,雖然問題還是能用之前的方法解決,但總感覺代碼有點臃腫,而且效率也很低下。既然JQUERY被譽為目前所有JS框架中最有效率的程式碼,不可能連這個問題都要用一大坨程式碼來解決吧!

回頭再翻動JQUERY的API,才發現有一個非常適合這個場合使用的語句我一直沒有註意過。那就是:$(選擇器一).find(選擇器二)。之前雖然有讀過find這段介紹,但一直因為用不到而被忽視。

這裡說說find()的使用方法
API提供的的解釋:搜尋所有與指定表達式相符的元素。這個函數是找出正在處理的元素的後代元素的好方法。

使用方法:$(選擇器一).find(選擇器二);

以小劇客棧首頁的焦點圖,查找類為“.focusphoto”的DL下DD中的span並將其作淡出處理為例:

複製程式碼 程式碼如下:

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

談小劇對find()的理解

我這個應用其實完全可以用children()來代替,但這並不是說find()和children()的用法是一樣的,如果是這樣的話find()的存在便沒有了意義。在查詢深度為一級的時候,這兩者有相同之處,但差別就在於:find()是子查詢選擇器,它可以深入到子級的下層進行查詢選擇;而children():只是子級選擇器,它只能選擇下一層級的元素。

當然,以上只是劇中人的一點拙見,如有錯誤或不完善的地方,請給於指正,謝謝!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板