JavaScript中的样式类列表与类名称
我有两个DOM元素A和B,希望从A中获取所有样式类,并将它们附加到B中 我知道我可以通过以下方式将新类附加到元素,而无需擦除现有类:JavaScript中的样式类列表与类名称,javascript,html,css,Javascript,Html,Css,我有两个DOM元素A和B,希望从A中获取所有样式类,并将它们附加到B中 我知道我可以通过以下方式将新类附加到元素,而无需擦除现有类: B.classList.add("cls1", "cls2", "cls3"); var clsa = ["cls1", "cls2", "cls3"]; B.classList.add(...clsa); 或者这样: B.classList.add("cls1", "cls2", "cls3"); var clsa = ["cls1", "cls2", "
B.classList.add("cls1", "cls2", "cls3");
var clsa = ["cls1", "cls2", "cls3"];
B.classList.add(...clsa);
或者这样:
B.classList.add("cls1", "cls2", "cls3");
var clsa = ["cls1", "cls2", "cls3"];
B.classList.add(...clsa);
现在,我的问题是,如何以clsa
array的形式获得一个类列表
- 我可以通过使用
属性,然后将其拆分为一个数组来实现这一点A.className
- 或者,我可以简单地将
附加到A.className
,如下所示:B.className
B.className += A.className;
- 或者我可以迭代
对象的组件,0:。。。N:A.classList
B.classList.add(...A.classList.all);
不明显,但在Chrome中似乎有效:
B.classList.add(...A.classList);
您可以首先尝试将
classList
强制转换为一个数组,就像在中应答的那样,然后使用扩展运算符进行追加
B.classList.add([...A.classList]);