在此示例(工作中)单击按钮时,该部分切换为可见/不可见。 很棒,但第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');
};
});
答案 0 :(得分:5)
据我所知,你使用>
来指定一个直接的孩子,而不是任何后代。
假设:
<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。
答案 1 :(得分:3)
引用元素的直接子元素是child selector。该行与(<更好地编写,IMO)相同:
$('#toggleGrid > :first').toggle('blind');
答案 2 :(得分:0)
&GT;是一个子选择器:
5.6儿童选择器 当元素是某个元素的子元素时,子选择器匹配。子选择器由两个或多个由“&gt;”分隔的选择器组成。
实施例(一个或多个):
以下规则设置作为BODY子项的所有P元素的样式:
body&gt; P {线高:1.3} 实施例(一个或多个):
以下示例结合了后代选择器和子选择器:
div ol&gt; li p 它匹配作为LI的后代的P元素; LI元素必须是OL元素的子元素; OL元素必须是DIV的后代。请注意“&gt;”周围的可选空格组合器已被排除在外。
答案 3 :(得分:-1)
根据SelectORacle,>
之前没有选择器,选择任何其他元素的子元素。 因此,选择器看起来像是指在“toggleGrid”元素下找到的任何元素的第一个子元素。
SelectORacle在这里:http://penguin.theopalgroup.com/cgi-bin/css3explainer/selectoracle.py但请注意它不理解jQuery-isms。
编辑 - 实际上我会在这里留下SelectORacle链接,我错了,因为我混淆了“:eq(0)”;它与“:first-child”duhh不一样。因此@tv等人是正确的,这只是“toggleGrid”下的第一个孩子。