识别Jquery选择器

时间:2012-06-10 21:29:35

标签: javascript jquery jquery-selectors

我是javascript和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);
});

2 个答案:

答案 0 :(得分: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的孩子,这是一个孩子标识为>的标记。

顺便说一下,术语 descendant 意味着在某个元素中嵌套(无论多深)的任何元素。没有组合器的CSS选择器通常以后代为目标。

术语 child children 表示直接后代的元素,或者只是元素深度1级的后代。这就是{{1}}的目的。

答案 1 :(得分:1)

从右到左阅读:

位于ul里面的div里面的divdiv id 'LayoutColumn2'