有人可以解释选择器如何为不同的后代工作吗?我在网上看了一点,但到目前为止我发现的描述似乎并没有太大的不同。
例如,这三个有什么区别?
$('table tr')
$('table > tr')
$('table + tr')
有人可以解释选择器如何为不同的后代工作吗?我在网上看了一点,但到目前为止我发现的描述似乎并没有太大的不同。
例如,这三个有什么区别?
$('table tr')
$('table > tr')
$('table + tr')
table tr 是一个不好的例子,因为你不能有一个没有 table 的 tr,而且也不需要 jquery 函数
p span
这个选择 p 标签内的所有 span 标签
p > span
这个只选择 p 内的第一个嵌套跨度标签
p + span
仅选择标记中 p 之后的跨度标记
你不可能看起来非常努力,jQuery 的文档在这个主题上非常清楚。
给定一些简单的标记,
<div>
<span id="A"></span>
<p><br /><span id="B"></span></p>
<form>
<span id="C"></span>
<span id="D"></span>
</form>
</div>
这就是选择的工作方式:
$("div span")
匹配 div 中的任何跨度,无论它们与 div 嵌套多远(A、B、C、D)$("div > span")
匹配作为 div 的直接后代的 span (A)$("br + span")
匹配跨度在 br (B) 旁边$("form span")
匹配表单内的跨度 (C, D)$("form span:first")
仅将第一个跨度与表单 (C) 匹配