使用element.className.replace方法删除元素的类名

时间:2016-08-29 15:30:25

标签: classname

var divfoo=document.getElementById("foo");

divfoo.className=" css-class  css-class2 ";
divfoo.className=divfoo.className.replace(" css-class2 ", "");

以上代码有效。但是我想对使用replace方法的上面代码的最后一行进行更改。我不想像上面那样编写代码,而是想知道为什么它在下面写的时候不起作用。

var divfoo=document.getElementById("foo");

divfoo.className=" css-class  css-class2 ";
divfoo.className.replace(" css-class2 ", "");

为什么要分配给" divfoo.className"当将替换方法应用于相同的" divfoo.className"时,为什么我们不能像上面代码一样直接应用方法呢?

因为这个我应该讨厌javascript不符合逻辑吗?

enter code here

1 个答案:

答案 0 :(得分:1)

Element.className是类HTML属性的简单字符串表示。

String.replace方法不会更改被调用的源字符串,只返回替换过程的结果。

如果您想要更多“逻辑/功能”方法,请查看Element.classList界面,即remove方法。