我正在审核代码并发现
$("#item1 #item2") and $("#item1>#item2")
可互换使用。是否存在差异或是否相同?
答案 0 :(得分:5)
两者都匹配
<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')
答案 1 :(得分:1)
与CSS选择器相同
#this #that
表示#that
的孩子的任何#this
。
在哪里
#this>#that
仅表示#that
的{{1}}的直接后代。
答案 2 :(得分:0)
>
符号表示“仅包含该元素的直接子元素”。因此,如果您只想选择子节点为#item1
的子节点,请使用它,否则请使用第一个选项。
答案 3 :(得分:0)
>
表示立即,直接子女。
<强>直接强>
<div id="a">
<div id="b">
</div>
</div>
<强>间接强>
<div id="a">
<div>
<div id="b">
</div>
</div>
</div>