javascript - 选择嵌套元素

标签 javascript jquery

我有一个像这样的页面层次结构:

<div class="panel" attribute-id="1">
  <button class="delete">
  <div class="panel" attribute-id="2" association-id="20">
    <button class="delete">
  </div>
</div>
....

所以我有一堆这些面板,里面有嵌套面板,我试图仅为顶级面板的删除按钮创建点击处理程序(因此那些直接位于没有关联的面板内的面板) ID)。父面板和子面板之间唯一的区别是子面板具有额外的属性“association-id”。

所以我只能像这样选择顶级面板:

$('.panel[attribute-id]:not([association-id]')

但是如果我尝试从中获取删除按钮,例如:

$('.panel[attribute-id]:not([association-id] .delete')

显然我仍然会得到子按钮。

无论如何我都无法修改 html,我该怎么做呢?

最佳答案

$(':not(.panel[attribute-id][association-id]) > .delete')

似乎可以解决问题。

jsfiddle

我已将 .panel-group 更改为 .panel 以使其能够与提供的 HTML 一起使用。

关于javascript - 选择嵌套元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36779681/

相关文章:

javascript - 从 JSON 结构中删除行标题

javascript - css/jquery - 将所有元素边距值提取到一个变量中

jquery - 如何取消正在上传到 Amazon S3 的文件?

javascript - jQuery - 字符串上的文本替换

javascript - Node.js/ express : Prevent AJAX HTML snippet from being loaded directly from URL

javascript - angularjs:将一个服务传递到另一个服务中?

javascript - 使 Visual Studio Code 识别模块并需要

javascript - 使用 jQuery 过滤嵌套 JSON 中的空值

javascript - 从数据库中填充 fullcalendar javascript 中的事件

javascript - 如果在上下文之外使用变量如何包含数组内容