【发布时间】:2014-11-08 10:58:53
【问题描述】:
我有一个 id="mydiv" 的 div,它在开始时没有分配给一个类。 以下两个函数将类分配给 mydiv。
function one(){
document.getElementById(mydiv).setAttribute("class", "classone");
}
function two(){
document.getElementById(mydiv).setAttribute("class", "classtwo");
}
这两个功能完成后mydiv的className是什么? 是 classtwo 还是 classone 和 classtwo 两者兼而有之? (如果它是两个类 - 我如何将函数二更改为 ;
- 先删除当前mydiv的className
- 然后赋值className(函数中我已经提到的代码) )
【问题讨论】:
-
如果你将它设置为一个字符串,它将是那个字符串。先前的值将被删除。如果你想添加一个类,你必须获取属性的当前值并添加另一个字符串。请注意,您不必使用
.setAttribute()- 您可以通过相关 DOM 元素的“className”属性直接引用类字符串。 -
添加一个类(也只有一个类),可以使用elm.className+=""+strClassToAdd;要管理,请使用较新的 elm.classList.remove('classone'); elm.classList.add('classtwo');
标签: javascript html css classname