代码之家  ›  专栏  ›  技术社区  ›  JohnnyBizzle

Jquery>选择器

  •  4
  • JohnnyBizzle  · 技术社区  · 15 年前

    在这个例子中(它正在工作)点击一个按钮,该部分被切换为可见/不可见。 很好,但是第2行的代码实际上在做什么?? 我找到了一个引用:eq(0)部分 here on jQuery.com 但是“>”我不知道。在firebug下,“>”是否有没有。

     $("#btnHideShow").click(function() {
                     $("> :eq(0)", "#toggleGrid").toggle("blind");
                     if ($("#btnHideShow").val() == "Hide List") {
                         $("#btnHideShow").val('Show List');
                     } else {
                         $("#btnHideShow").val('Hide List');
                     };
                 });
    
    4 回复  |  直到 15 年前
        1
  •  5
  •   Jeriko    15 年前

    据我所知,你用 >

    鉴于:

    <div class="parent">
      <ul class="child">
        <a href="#">foo</a>
        <a href="#">bar</a>
      </ul>
    </div>
    

    .parent a .parent > a 不会,因为他们不是直系后代。同样地, .parent > .child .child > a

    在您提供的代码中,您匹配的是 #toggleGrid . 如果你只有直系子女,你可能不会注意到 >

    我总是发现尝试输入别人的代码是有问题的——你试图理解它是件好事:)

    this article 如果你需要更多信息。

        2
  •  3
  •   tvanfosson    15 年前

    child selector 对于引用元素的直接子级。这一行相当于(而且写得更好,IMO):

    $('#toggleGrid > :first').toggle('blind');
    
        3
  •  0
  •   Scott    15 年前

    >是子选择器:

    当一个元素是某个元素的子元素时,子选择器匹配。子选择器由两个或多个选择器组成,选择器之间用“>”分隔。

    示例:

    以下规则设置作为BODY子元素的所有P元素的样式:

    车身>P{线高:1.3} 示例:

    下面的示例组合了后代选择器和子选择器:

    它匹配一个P元素,P元素是LI的后代;LI元素必须是OL元素的子元素;OL元素必须是DIV的后代。请注意“>”周围的可选空格combinator被遗漏了。

        4
  •  -1
  •   Pointy    15 年前

    据甲骨文称 > 因此,选择器看起来像是在“toggleGrid”元素下找到的任何元素的第一个子元素。

    选择Oracle的步骤如下: http://penguin.theopalgroup.com/cgi-bin/css3explainer/selectoracle.py 但请注意,它不理解jQuery isms。

    -实际上,虽然我将把SelectORacle链接留在这里,但我错了,因为我混淆了“:eq(0)”;这和“第一个孩子”不一样。因此@tv等人是正确的,这只是“toggleGrid”下孩子的第一件事。