javascript - 我的 jquery 循环出了什么问题?

标签 javascript jquery

我试图弄清楚我在这个循环中做错了什么,并且我正在拔掉我的头发。我似乎无法进入 if 语句来挽救我的生命。

本质上,我想循环遍历父级 div,检查每个子级是否存在某个类,如果该类存在则执行某些操作。有什么建议吗?

$(".button").click(function() {
  $('.container').children().each(function() {
    if ($(this.element).hasClass("look-for-this-class")) {
      $(this.element).addClass("class-1")
    } else {
      $(this.element).addClass("class-2")
    }
  });
});

最佳答案

您的代码甚至不需要循环:

$(".button").click(function() {
  $('.container > .look-for-this-class').addClass("class-1");
  $('.container > :not(.look-for-this-class)').addClass("class-2");     
});
.look-for-this-class{color:blue}
.class-1{color:red}
.class-2{color:green}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<button class="button">click</button>
<div class="container">
  <div class="look-for-this-class">1</div>
  <div class="look-for-this-class">2</div>
  <div>3</div>
</div>

关于javascript - 我的 jquery 循环出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46719367/

相关文章:

javascript - 使用 Selenium 测试 jQuery 元素数据()?

javascript - 使用 Google map API 自动完成地址

javascript - 从 csv 文件获取 D3 中的桑基图

javascript - 为 jqGrid 使用自定义 JSON 格式

javascript - 引导日期选择器今天默认使用 Angular 和 jquery 在 h4 中显示

javascript - 添加描边并更改数据圈中文本的文本颜色

javascript - 自定义 Google Map API V3 PEGMAN 按钮

jquery - Bootstrap Modal 是透明的 - 不透明度不起作用

jquery - 提交前更改数据

javascript - 多选更改事件句柄