当存在特定的类组合时,我想给主体一个类。
让我们说标记看起来像这样:
<span class="target one"></div>
<span class="target two"></div>
<span class="target three"></div>
<span class="target four"></div>
<span class="target five"></div>
目标类将是需要定位的目标类。如果任何涉及三个第一类中任何一个的组合 - one
two
或three
存在 - 给身体一个班级。
Exampel(仅显示目标元素的三个组合以进行可视化):
<span class="target one"></div>
<span class="target one"></div>
<span class="target one"></div>
<span class="target two"></div>
<span class="target three"></div>
<span class="target two"></div>
等等。
但是如果存在任何其他元素,则没有课程。这些是动态的,所以我不能用它们作为变量。
<span class="target one"></div>
<span class="target one"></div>
<span class="target four"></div>
这可能吗?
答案 0 :(得分:0)
这可能就是你要找的东西。
var d = ["one", "two", "three"];
var t = [];
$('span.target').each(function(i) {
t.push($(this).attr("class").replace("target ", ""));
if (i == ($('span.target').length - 1)) {
var l = true;
for (i = 0; i < t.length; i++) {
if ($.inArray(t[i], d) == -1)
{
l = false;
}
}
if(l){
$("body").addClass("AddMyClass")
}
}
})
console.log("The body has the class AddMyClass: " +$("body").hasClass("AddMyClass"))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="target one"></div>
<span class="target two"></div>
<span class="target three"></div>