jquery - 无法选择子 div jQuery

标签 jquery html css select

<分区>


想改进这个问题吗? 通过 editing this post 添加细节并澄清问题.

关闭 6 年前

<div class='class1'>
  <div class='class2'>
    <div class='class3'>
      some text
    </div>
    <div class='class4'>
      some text
    </div>
  </div>
</div>

我想选择不带 div.class4div.class1,但这不起作用。

$('.class1').not('.class4')

最佳答案

not('.class4')方法将从匹配元素集中删除具有类 class4 的元素。


如果要过滤掉不包含.class4.class1,则使用:not() 的组合和 :has()伪类选择器。

$('.class1:not(:has(.class4))').css('color', 'red')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='class1'>
  <div class='class2'>
    <div class='class3'>
      some text
    </div>
    <div class='class4'>
      some text
    </div>
  </div>
</div>
<div class='class1'>
  <div class='class2'>
    <div class='class3'>
      some text
    </div>
  </div>
</div>


更新:如果您想要获取除 .class4 之外的元素的内容,请使用 clone() 克隆该元素方法,删除.class4并获取内容。

console.log(
  $('.class1')
  // clone the element
  .clone()
  // get `.class4` elements
  .find('.class4')
  // remove them
  .remove()
  // back to previous selector
  .end()
  // get html content
  .html()
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='class1'>
  <div class='class2'>
    <div class='class3'>
      some text
    </div>
    <div class='class4'>
      some text
    </div>
  </div>
</div>

关于jquery - 无法选择子 div jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41014482/

上一篇:javascript - jQuery 窗口滚动事件不起作用

下一篇:javascript - 使用 innerhtml 访问 anchor 标记

相关文章:

html - CSS:如何实现与内容最多的列的高度相匹配的两个列高?

javascript - 向 Accordion 小部件添加/删除类

javascript - 我想在 drupal 7 中以屏蔽格式显示电子邮件 ID 和手机号码?需要建议

Javascript 将表存储在带有条件的变量中

javascript - 获取选择下拉列表的值

html - 我的网站不会使用我的自定义表情符号字体(Noto Color Emoji),每个浏览器的行为不同。为什么?

html - 如何将 <li> 向右移动?

html - 可以在 ionic 模态视图之外显示元素

jquery - 如何禁用数据表的自动排序?

javascript - 我们如何创建自己的 CDN 链接?