我在审查代码时发现
$("#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
复制相似问题