为 .delegate() 只选择第一级元素

发布于 2024-10-27 16:44:54 字数 433 浏览 1 评论 0原文

使用 .delegate() 时如何仅选择元素的第一级子元素?

假设我有以下 HTML:

<div id="list">
  <div>Item 1<div>Item 1-1</div></div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

当我执行 $('#list').delegate('div', 'click', function(e) {}) 时,元素 < ;div>Item 1-1 将包含在处理程序中(对吗?)。那么如何用这个方法只选择#list的第一级子元素呢?

How do I only select the first level of children of an element when using .delegate()?

Say, I have the following HTML:

<div id="list">
  <div>Item 1<div>Item 1-1</div></div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

When I do $('#list').delegate('div', 'click', function(e) {}), the element <div>Item 1-1</div> would be included (right?) in the handler. How do I only select the first-level child elements for #list with this method then?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

初熏 2024-11-03 16:44:54

您可以执行以下操作以仅选择直接子项:

$('#list').delegate('#list > div', 'click', function(e) {});

You can do the following to only select direct children:

$('#list').delegate('#list > div', 'click', function(e) {});
呆° 2024-11-03 16:44:54

我想你会在这里得到解决方案。如果我的猜测正确

仅选择第一级元素,不选择具有相同元素名称的子元素

you will got solution here i think .if my guess correct

Selecting only first level element, not child elements with the same element name

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