jQuery - 后代的不同选择器?
有人可以解释一下选择器如何为不同的后代工作吗? 我在网上查了一下,但到目前为止我发现的描述似乎并没有太大不同。
例如,这三者有什么区别?
$('table tr')
$('table > tr')
$('table + tr')
Can someone please explain how the selectors work for the different descendants?
I've looked a bit online but the descriptions I've found so far don't seem to be terribly different.
For example, what's the difference between these three?
$('table tr')
$('table > tr')
$('table + tr')
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
table tr 是一个不好的例子,因为你不能有一个没有 table 的 tr,而且也不需要 jquery 函数
这个选择 p 标签内的所有 span 标签
这个只选择 p 内的第一个嵌套的 span 标签
仅选择标记中 p 后面的 span 标记
table tr is a bad example for this because you cant have a tr without table, and the also don't need the jquery function
this one selects all the span tags inside the p tag
this one selects only the first nested span tag inside the p
selects only that span tag, that comes right after the p in your markup
你不可能看得太仔细,jQuery 的文档在这个主题上非常清楚。
给定一些简单的标记,
这就是选择的工作方式:
$("div span")
匹配 div 内的任何范围,无论它们与 div 的嵌套有多深(A,B,C,D )$("div > span")
匹配 div 的直接后代 (A)$("br + span")
匹配 br 旁边的 span ( B)$("form span")
匹配表单内的范围 (C, D)$("form span:first")
仅匹配表单中的第一个范围(三)You can't have looked terribly hard, jQuery's documentation is pretty clear on the subject.
Given some simple markup,
This is how selects will work:
$("div span")
matches any span within a div, however far nested with a div they might be (A,B,C,D)$("div > span")
matches spans which are immediate descendts of divs (A)$("br + span")
matches span next to a br (B)$("form span")
matches spans within a form (C, D)$("form span:first")
matches only the first span with a form (C)