协慌网

登录 贡献 社区

如何向给定元素添加类?

我有一个已经有类的元素:

<div class="someclass">
    <img ... id="image1" name="image1" />
</div>

现在我想创建一个 Javascript 函数,它将一个类添加到div (不替换,但添加)。

我怎样才能做到这一点?

答案

将空格加上新类的名称添加到元素的className属性中。首先,在元素上放置一个id ,这样您就可以轻松获得引用。

<div id="div1" class="someclass">
    <img ... id="image1" name="image1" />
</div>

然后

var d = document.getElementById("div1");
d.className += " otherclass";

另请参见MDN 上的 element.className

没有任何框架的最简单方法是使用element.classList.add方法。

var element = document.getElementById("div1");
element.classList.add("otherclass");

编辑:如果你想从一个元素中删除类 -

element.classList.remove("otherclass");

我不希望自己添加任何空白空间和重复的条目处理(使用document.className方法时需要)。有一些浏览器限制 ,但您可以使用polyfills解决它们。

找到你想要的目标元素 “d” 然后:

d.className += ' additionalClass'; //note the space

你可以用更聪明的方式包装它来检查预先存在,并检查空间要求等。