在不改变javascript样式的情况下更改类名

时间:2017-01-18 15:24:52

标签: javascript html internet-explorer-8

我无法禁用某些元素上的事件(即使是element.onclick = null)所以我决定更改元素的名称。
我试过了:

element.className = "newOne";

但它使我的元素消失,很可能是因为它清除了风格 我的第二种方法包括保存样式,然后将其重新复制到旧元素:

TempStyles = element.styles.cssText;
element.className = "newOne";
element.styles.cssText = tempStyles;

我用.cssText尝试过,没有它,没有它们工作。
!!!我的限制是IE8而且没有jQUERY !!!

1 个答案:

答案 0 :(得分:-1)

如果您之前将某个类归因于该HTML元素,则执行element.className = "newOne"会将所有其他类替换为newOne,以及与之关联的任何样式。

如果要维护旧类和相应的样式,必须将新类附加到HTML元素:

element.className += " newOne";

请注意新类名前的额外空格。需要将新类名与之前的名称分开,因此该属性将保留oldClass newOne而不是oldClassnewOne。这样,你的元素现在有两个类。

相关问题