2012-06-10 60 views
0

我是新來的JavaScript和jQuery。識別jQuery選擇器

是什麼選擇的意思是: 「#LayoutColumn2> DIV> DIV> DIV> UL」

Contect(它來自功能):

function loadNextTier(tierID, changedItemValue) { 
    linkArray.length = 0; 
$("#placeholderForLoad").load(changedItemValue + " #LayoutColumn2 > div > div > div > ul", function(){ 
    $("#placeholderForLoad li").each(function(){ 
     var itemName = $(this).children("a").text(); 
     var itemValue = $(this).children("a").attr("href"); 
     linkArray.push(itemValue+";"+itemName); 
    }); 
    if (tierID == "tier1") { 
     tierID = "tier2"; 
    } 
    else if (tierID == "tier2"){ 
     tierID = "tier3"; 
    } 
    else if (tierID == "tier3") { 
     tierID = "tier4"; 
    } 
    resetTiers(tierID); 
    fillMyList(linkArray, tierID); 
}); 
+0

它告訴jQuery選擇任何'div'的直接子元素'ul',即'div'的直接子元素,即直接子元素'div'的子元素命名爲'LayoutColumn2' –

+0

@Jack實際上,這不是關於jQuery,而是關於選擇器(特別是[後代組合器](http://www.w3.org/TR/css3-selectors/#child-combinators)) –

回答

3

它將匹配以下結構

<any_tag id="LayoutColumn2"> 
    <div> 
    <div> 
     <div> 
     <ul> <-- matches this tag 
      <li> 
      <ul> <-- doesn't match. you only fetched children, not descendants 

#LayoutColumn2 > div > div > div > ul表示:

得到<ul>這是一個<div>,這是一個<div>,這是一個<div>的孩子的孩子的孩子,這是標識爲LayoutColumn的標記的孩子。

順便說一句,術語後裔指在某一個元素自帶嵌套的任何元素(不管有多深)。沒有組合器的CSS選擇器通常會指向後代。

術語孩子兒童意味着是直接後裔或者是後人從元件只有1級深的元素。這就是>的目的。

+0

Joseph,謝謝您的回答。你確切地回答了我的問題,但我應該有不同的問題 –

1

從右讀它到左:

ul內部div內部div內部div內部元件與id 'LayoutColumn2'

相關問題