我在审查代码时发现
$("#item1 #item2") and $("#item1>#item2")可以互换使用。有什么不同吗?还是相同的?
发布于 2011-06-09 01:13:29
两者都将匹配
<div id="item1">
<div id="item2">
</div>
</div>但只有第一个匹配
<div id="item1">
<div>
<div id="item2">
</div>
</div>
</div>第一个表达式使用descendant selector。第二个表达式中的>符号是child selector。两者都是标准的CSS选择器。
但是,由于id的必须是唯一的,所以两者都过于复杂。相反,您应该只使用$('#item2')
发布于 2011-06-09 01:15:42
与CSS选择器相同
#this #that表示作为#this的子级的任何#that。
Where as
#this>#that仅表示#that,它是#this的直系后代。
More reading on descendant selectors.
发布于 2011-06-09 01:16:07
>符号表示“仅包括作为该元素直接子元素的元素”。因此,如果只想选择作为#item1的子节点的子节点,请使用它,否则使用第一个选项。
https://stackoverflow.com/questions/6282580
复制相似问题