将相同的 class 添加到多个对象
Add same class to multiple Objects
我需要使用 jQuery 将单个 class 名称添加到多个对象。
我知道像这样向多个选择器添加 class:
$("#Div4 ,#Div5 ,#Div7 ,#Div8").addClass("something");
我尝试了以下代码,但它 class 仅适用于第一个对象。
$(a[i].source, a[i].canvas, a[i].target).addClass("something");
在上述情况下,class名称 something
仅应用于 a[i].source
想法?
假设a[i].source
等实际引用了一个Node/Element,可以使用.add()
to add them individually to a collection,即:
$(a[i].source).add(a[i].canvas).add(a[i].target).addClass('something');
这可能会不必要地冗长。您可以简单地构造一个数组并在 jQuery (credit to @Rory):
中依赖隐式迭代
$([a[i].source, a[i].canvas, a[i].target]).addClass('something');
然而,这并不是真正需要的。只使用原生 JS 怎么样? Array.prototype.forEach()
and Element.classList
截至今天得到广泛支持:
ES6:
[a[i].source, a[i].canvas, a[i].target].forEach(el => el.classList.add('something'));
ES5(如果你需要向后兼容不支持 ES6 语法的旧浏览器):
[a[i].source, a[i].canvas, a[i].target].forEach(function(el) {
el.classList.add('something');
});
与其尝试通过 id 获取它们,不如为您需要获取的元素添加默认值 class。
<div class="selectorClass"></div>
<span class="selectorClass"></span>
然后
使用 jquery
$(".selectorClass").addClass("something")
我需要使用 jQuery 将单个 class 名称添加到多个对象。
我知道像这样向多个选择器添加 class:
$("#Div4 ,#Div5 ,#Div7 ,#Div8").addClass("something");
我尝试了以下代码,但它 class 仅适用于第一个对象。
$(a[i].source, a[i].canvas, a[i].target).addClass("something");
在上述情况下,class名称 something
仅应用于 a[i].source
想法?
假设a[i].source
等实际引用了一个Node/Element,可以使用.add()
to add them individually to a collection,即:
$(a[i].source).add(a[i].canvas).add(a[i].target).addClass('something');
这可能会不必要地冗长。您可以简单地构造一个数组并在 jQuery (credit to @Rory):
中依赖隐式迭代$([a[i].source, a[i].canvas, a[i].target]).addClass('something');
然而,这并不是真正需要的。只使用原生 JS 怎么样? Array.prototype.forEach()
and Element.classList
截至今天得到广泛支持:
ES6:
[a[i].source, a[i].canvas, a[i].target].forEach(el => el.classList.add('something'));
ES5(如果你需要向后兼容不支持 ES6 语法的旧浏览器):
[a[i].source, a[i].canvas, a[i].target].forEach(function(el) {
el.classList.add('something');
});
与其尝试通过 id 获取它们,不如为您需要获取的元素添加默认值 class。
<div class="selectorClass"></div>
<span class="selectorClass"></span>
然后 使用 jquery
$(".selectorClass").addClass("something")