javascript - 通过javascript向特定元素添加一个类并且不重复

标签 javascript jquery html css

这是解释我想要的示例代码:

<div id="someId">
<div class="someClass"></div>
<div class="targetClass"></div>
</div>
<div id="someId">
<div class="someClass"></div>
<div class="targetClass"></div>
</div>
<div id="someId">
<div class="someClass"></div>
</div>

jquery 的这段代码:

var $newDiv = $("<div/>")
.addClass("targetClass")
$(".someClass").append($newDiv);

结果是在第 3 个 div 中添加一个 TargetClass,并在第一个和第二个 div 中重复相同的类。

问题是我如何在最后一个 div 中添加类,而不是在另一个 div 中重复它。

最佳答案

根据您的代码判断,您希望将新的 div 作为 .someClass div 的同级元素而不是它的子元素。

只需替换这一行

 $(".someClass").append($newDiv);

通过

 $( "div[id]:not(:has(.targetClass))" ).append($newDiv); //will append new div to all those divs which doesn't have child element with targetclass

var $newDiv = $("<div/>").addClass("targetClass");
$( "div[id]:not(:has(.targetClass))" ).append($newDiv);

Demo

关于javascript - 通过javascript向特定元素添加一个类并且不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35913401/

相关文章:

javascript - 如何使用 TextInput isFocused() 方法

javascript - 如何使用 Jint 从 JavaScript 函数调用中获取正确的 C# 字符串数组

jquery - jquery获取图片宽度和高度

javascript - CSS或jQuery悬停效果增加固定框显示绝对位置放大版

html - 是通过表单在 HTML 中传递 POST 参数的唯一方法吗?

javascript - 我可以从 html 获取文本并将其放入 php 中的变量而不提交表单吗?

javascript - 在javascript中播放加载的文件

javascript - 如何使用 javascript 将时间从 24 小时格式转换为 12 小时格式?

php - 仅获取 json 文件的一部分而不是整个文件

javascript - 当用户动态添加文本框时回显文本框中的值