成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

jQuery DOM節(jié)點的遍歷

Elle / 1481人閱讀

摘要:只要符合,不管是兒子輩,孫子輩都可以與其他的樹遍歷方法不同,選擇器表達式對于是必需的參數(shù)。方法以選定的元素為中心,往內(nèi)查找可以通過方法。要一個一個給合集中每一個設(shè)置顏色,這里方法就是方法就是一個循環(huán)的迭代器,它會迭代對象合集中的每一個元素。

children()方法

jQuery是一個合集對象,如果想快速查找合集里面的第一級子元素,此時可以用children()方法。這里需要注意:.children(selector) 方法是返回匹配元素集合中每個元素的所有子元素(僅兒子輩,這里可以理解為就是父親-兒子的關(guān)系)

節(jié)點查找關(guān)系

  • 1

代碼如果是$("div").children(),那么意味著只能找到ul,因為div與ul是父子關(guān)系,li與div是祖輩關(guān)系,因此無法找到

children()無參數(shù)

允許通過在DOM樹中對這些元素的直接子元素進行搜索,并且構(gòu)造一個新的匹配元素的jQuery對象

注意:jQuery是一個合集對象,所以通過children匹配合集中每一個元素的第一級子元素

.children()方法選擇性地接受同一類型選擇器表達式

$("div").children(".selected")

同樣的也是因為jQuery是合集對象,可能需要對這個合集對象進行一定的篩選,找出目標元素,所以允許傳一個選擇器的表達式

find()方法

jQuery是一個合集對象,如果想快速查找DOM樹中的這些元素的后代元素,此時可以用find()方法,這也是開發(fā)使用頻率很高的方法。這里要注意 children與find方法的區(qū)別,children是父子關(guān)系查找,find是后代關(guān)系(包含父子關(guān)系)

節(jié)點查找關(guān)系

  • 1

代碼如果是$("div").find("li"),此時,li與div是祖輩關(guān)系,通過find方法就可以快速的查找到

.find()方法要注意的知識點

find是遍歷當(dāng)前元素集合中每個元素的后代。只要符合,不管是兒子輩,孫子輩都可以

與其他的樹遍歷方法不同,選擇器表達式對于 .find() 是必需的參數(shù)。如果我們需要實現(xiàn)對所有后代元素的取回,可以傳遞通配選擇器 "*"

find只在后代中遍歷,不包括自己

選擇器 context 是由 .find() 方法實現(xiàn)的;因此,$(".item-ii").find("li") 等價于 $("li", ".item-ii")(找到類名為item-ii的標簽下的li標簽)

注意重點
.find()和.children()方法是相似的

children只查找第一級的子節(jié)點

find查找范圍包括子節(jié)點的所有后代節(jié)點

parent()方法

jQuery是一個合集對象,如果想快速查找合集里面的每一個元素的父元素(這里可以理解為就是父親-兒子的關(guān)系),此時可以用parent()方法;因為是父元素,這個方法只會向上查找一級

節(jié)點查找關(guān)系

  • 1
// 查找ul的父元素div, $(ul).parent()

parent()無參數(shù)

parent()方法允許我們能夠在DOM樹中搜索到這些元素的父級元素,從有序的向上匹配元素,并根據(jù)匹配的元素創(chuàng)建一個新的 jQuery 對象

注意:jQuery是一個合集對象,所以通過parent是匹配合集中每一個元素的父元素

parent()方法選擇性地接受同一型選擇器表達式

同樣的也是因為jQuery是合集對象,可能需要對這個合集對象進行一定的篩選,找出目標元素,所以允許傳一個選擇器的表達式

parents()方法

jQuery是一個合集對象,如果想快速查找合集里面的每一個元素的所有祖輩元素,此時可以用parents()方法

其實也類似find與children的區(qū)別,parent只會查找一級,parents則會往上一直查到查找到祖先節(jié)點

節(jié)點查找關(guān)系

  • 1
// 在li節(jié)點上找到祖輩元素div,用$("li").parents()方法

parents()無參數(shù)
parents()方法允許我們能夠在DOM樹中搜索到這些元素的祖先元素,從有序的向上匹配元素,并根據(jù)匹配的元素創(chuàng)建一個新的 jQuery 對象;返回的元素秩序是從離他們最近的父級元素開始的

注意:jQuery是一個合集對象,所以通過parent是匹配合集中所有元素的祖輩元素

parents()方法選擇性地接受同一型選擇器表達式
同樣的也是因為jQuery是合集對象,可能需要對這個合集對象進行一定的篩選,找出目標元素,所以允許傳一個選擇器的表達式

注意事項

.parents()和.parent()方法是相似的,但后者只是進行了一個單級的DOM樹查找

$( "html" ).parent()方法返回一個包含document的集合,而$( "html" ).parents()返回一個空集合。

closest()方法

以選定的元素為中心,往內(nèi)查找可以通過find、children方法。如果往上查找,也就是查找當(dāng)前元素的父輩祖輩元素,jQuery提供了closest()方法,這個方法類似parents但是又有一些細微的區(qū)別,屬于使用頻率很高的方法

closest()方法接受一個匹配元素的選擇器字符串

從元素本身開始,在DOM 樹上逐級向上級元素匹配,并返回最先匹配的祖先元素

// 在div元素中,往上查找所有的li元素,可以這樣表達
$("div").closet("li")
注意:jQuery是一個合集對象,所以通過closest是匹配合集中每一個元素的祖先元素

closest()方法給定的jQuery集合或元素來過濾元素

同樣的也是因為jQuery是合集對象,可能需要對這個合集對象進行一定的篩選,找出目標元素,所以允許傳一個jQuery的對象

注意事項

起始位置不同:.closest開始于當(dāng)前元素 .parents開始于父元素

遍歷的目標不同:.closest要找到指定的目標,.parents遍歷到文檔根元素,closest向上查找,直到找到一個匹配的就停止查找,parents一直查找到根元素,并將匹配的元素加入集合

結(jié)果不同:.closest返回的是包含零個或一個元素的jquery對象,parents返回的是包含零個或一個或多個元素的jquery對象

next()方法

jQuery是一個合集對象,如果想快速查找指定元素集合中每一個元素緊鄰的后面同輩元素的元素集合,此時可以用next()方法

節(jié)點查找關(guān)系

//如下的class="item-2"就是class="item-1"的兄弟元素
  • 1
  • 2
  • 3

next()無參數(shù)

允許我們找遍元素集合中緊跟著這些元素的直接兄弟元素,并根據(jù)匹配的元素創(chuàng)建一個新的 jQuery 對象。

注意:jQuery是一個合集對象,所以通過next匹配合集中每一個元素的下一個兄弟元素

next()方法選擇性地接受同一類型選擇器表達式

同樣的也是因為jQuery是合集對象,可能需要對這個合集對象進行一定的篩選,找出目標元素,所以允許傳一個選擇器的表達式

prev()方法

jQuery是一個合集對象,如果想快速查找指定元素集合中每一個元素緊鄰的前面同輩元素的元素集合,此時可以用prev()方法

節(jié)點查找關(guān)系

如下的class="item-1"節(jié)點就是class="item-2"的li元素的prev兄弟節(jié)點

  • 1
  • 2
  • 3

prev()無參數(shù)

取得一個包含匹配的元素集合中每一個元素緊鄰的前一個同輩元素的元素集合

注意:jQuery是一個合集對象,所以通過prev是匹配合集中每一個元素的上一個兄弟元素

prev()方法選擇性地接受同一類型選擇器表達式

同樣的也是因為jQuery是合集對象,可能需要對這個合集對象進行一定的篩選,找出目標元素,所以允許傳一個選擇器的表達式

siblings()

jQuery是一個合集對象,如果想快速查找指定元素集合中每一個元素的同輩元素,此時可以用siblings()方法

節(jié)點查找關(guān)系
如下是class="item-1"和class="item-3"就是class="item-2"的siblings兄弟節(jié)點

  • 1
  • 2
  • 3

siblings()無參數(shù)

取得一個包含匹配的元素集合中每一個元素的同輩元素的元素集合

注意:jQuery是一個合集對象,所以通過siblings是匹配合集中每一個元素的同輩元素

siblings()方法選擇性地接受同一類型選擇器表達式

同樣的也是因為jQuery是合集對象,可能需要對這個合集對象進行一定的篩選,找出目標元素,所以允許傳一個選擇器的表達式
add()方法

jQuery是一個合集對象,通過$()方法找到指定的元素合集后可以進行一系列的操作。$()之后就意味著這個合集對象已經(jīng)是確定的,如果后期需要再往這個合集中添加一新的元素要如何處理?jQuery為此提供add方法,用來創(chuàng)建一個新的jQuery對象 ,元素添加到匹配的元素集合中

.add()的參數(shù)可以幾乎接受任何的$(),包括一個jQuery選擇器表達式,DOM元素,或HTML片段引用
//操作:選擇所有的li元素,之后把p元素也加入到li的合集中
  • list item 1
  • list item 3

新的p元素

// 處理一:傳遞選擇器 $("li").add("p") // 處理二:傳遞dom元素 $("li").add(document.getElementsByTagName("p")[0]) // 動態(tài)創(chuàng)建P標簽加入到合集,然后插入到指定的位置,但是這樣就改變元素的本身的排列了 $("li").add("

新的p元素

").appendTo(目標位置)
each()

jQuery是一個合集對象,通過$()方法找到指定的元素合集后可以進行一系列的操作

如操作$("li").css("") 給所有的li設(shè)置style值,因為jQuery是一個合集對象,所以css方法內(nèi)部就必須封裝一個遍歷的方法,被稱為隱式迭代的過程。要一個一個給合集中每一個li設(shè)置顏色,這里方法就是each

.each() 方法就是一個for循環(huán)的迭代器,它會迭代jQuery對象合集中的每一個DOM元素。每次回調(diào)函數(shù)執(zhí)行時,會傳遞當(dāng)前循環(huán)次數(shù)作為參數(shù)(從0開始計數(shù))

三個重點

each是一個for循環(huán)的包裝迭代器

each通過回調(diào)的方式處理,并且會有2個固定的實參,索引與元素

each回調(diào)方法中的this指向當(dāng)前迭代的dom元素

實例:

  • 克利夫蘭騎士
  • LeBorn James
開始迭代li,循環(huán)2次 $("li").each(function(index, element) { index 索引 0,1 element是對應(yīng)的li節(jié)點 li,li this 指向的是li })




    
    
    
    



    

each方法

  • list item 1
  • list item 2
  • list item 3
  • list item 4
  • list item 5
  • list item 6

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/87299.html

相關(guān)文章

  • jQuery基礎(chǔ)(二)DOM

    摘要:將匹配元素集合的父級元素刪除,保留自身和兄弟元素,如果存在在原來的位置。方法查找指定元素集合中每一個元素的同輩元素。每次回調(diào)函數(shù)執(zhí)行時,會傳遞當(dāng)前循環(huán)次數(shù)作為參數(shù)從開始計數(shù)。 DOM節(jié)點的創(chuàng)建 先介紹下需要用到的瀏覽器提供的一些原生的方法(這里不處理低版本的IE兼容問題)創(chuàng)建流程比較簡單,大體如下: 創(chuàng)建節(jié)點(常見的:元素、屬性和文本) 添加節(jié)點的一些屬性 加入到文檔中流程中涉及的一...

    Harpsichord1207 評論0 收藏0
  • jQuery入門筆記之(二)文檔對象模型

    摘要:刪除指定的屬性,這個方法就不可以使用匿名函數(shù),傳遞和均無效。遍歷對象數(shù)組索引,鍵,屬性名屬性值,值相當(dāng)于遍歷原生對象數(shù)組時,為元素。在使用使用時,可以使用傳入匿名函數(shù)的方法,實現(xiàn)由默認到幾個之間的切換。 轉(zhuǎn)自個人博客 基礎(chǔ) DOM 和 和 CSS 一. 設(shè)置元素及內(nèi)容 我們通過前面所學(xué)習(xí)的各種選擇器、過濾器來得到我們想要操作的元素。這個時候,我們就可以對這些元素進行 DOM 的操作。...

    FleyX 評論0 收藏0
  • 純干貨!jQueryDOM操作解析

    摘要:本人的兩篇原創(chuàng)文章純干貨一切關(guān)于選擇器和純干貨之操作解析,發(fā)布不到個月,就被博客園某賬號認領(lǐng)為他的原創(chuàng),并且他還精心地將慕課網(wǎng)原創(chuàng)文章的版權(quán)聲明和文章中關(guān)于我的點點滴滴,刪除地干干凈凈,很專業(yè)。   本人的兩篇原創(chuàng)文章純干貨!一切關(guān)于jquery選擇器和純干貨!jQuery之DOM操作解析,發(fā)布不到1個月,就被博客園某賬號 認領(lǐng) 為他的原創(chuàng),并且他還精心地將慕課網(wǎng)原創(chuàng)文章的版權(quán)聲明和文...

    yzd 評論0 收藏0
  • XPath 是一個好工具

    摘要:一個表達式是由一個或多個被分割的定位步組成。對于此類斷言,我們可以使用謂詞根據(jù)額外的遍歷樹來過濾出符合條件的節(jié)點。所以用來做一些低水平或與應(yīng)用無關(guān)的事情遍歷樹來找指定屬性的節(jié)點讓人蛋疼。這是一個專門用來讓你使用簡潔的慣用表達式來遍歷的工具。 編者注: XPath 即為XML路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言。 XPat...

    Ilikewhite 評論0 收藏0
  • XPath 是一個好工具

    摘要:一個表達式是由一個或多個被分割的定位步組成。對于此類斷言,我們可以使用謂詞根據(jù)額外的遍歷樹來過濾出符合條件的節(jié)點。所以用來做一些低水平或與應(yīng)用無關(guān)的事情遍歷樹來找指定屬性的節(jié)點讓人蛋疼。這是一個專門用來讓你使用簡潔的慣用表達式來遍歷的工具。 編者注: XPath 即為XML路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言。 XPat...

    codecraft 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<