jQuery - 后代的不同选择器?

发布于 2024-08-15 09:06:09 字数 158 浏览 3 评论 0原文

有人可以解释一下选择器如何为不同的后代工作吗? 我在网上查了一下,但到目前为止我发现的描述似乎并没有太大不同。

例如,这三者有什么区别?

$('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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

北方的巷 2024-08-22 09:06:09
  1. 匹配所有具有标签名称 tr 且属于 table 后代的元素。
  2. 匹配所有具有标签名称 tr 的元素,这些元素是 table 的直接子元素。
  3. 匹配紧邻兄弟表之前的所有元素 tr。
  1. Matches all elements with tag name tr that are descendents of table.
  2. Matches all elements with tag name tr that are direct children of table.
  3. Matches all elements tr immediately preceded by sibling table.
巷雨优美回忆 2024-08-22 09:06:09

table tr 是一个不好的例子,因为你不能有一个没有 table 的 tr,而且也不需要 jquery 函数

p span

这个选择 p 标签内的所有 span 标签

p > span

这个只选择 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

p span

this one selects all the span tags inside the p tag

p > span

this one selects only the first nested span tag inside the p

p + span

selects only that span tag, that comes right after the p in your markup

旧话新听 2024-08-22 09:06:09

你不可能看得太仔细,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 的直接后代 (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,

<div>
  <span id="A"></span>
  <p><br /><span id="B"></span></p>

  <form>
    <span id="C"></span>
    <span id="D"></span>
  </form>
</div>

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)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文