DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> jquery中獲取元素裡某一特定子元素的代碼
jquery中獲取元素裡某一特定子元素的代碼
編輯:JQuery特效代碼     

之前做的一些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():只是子級選擇器,它只能選擇下一層級的元素。

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

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved