2

我有以下几行 Javascript:

 var button = document.getElementById("scriptsubmit");
 button.setAttribute("class", "remove");

在 Firefox 中,这可以完美运行,而在 Internet Explorer 中则不行。

我知道 Internet Explorer 期望 class 是 className,但我不确定如何检测哪个用作对象检测在这种情况下似乎不适用。

感谢您的回复

4

3 回答 3

5

您可以在两个浏览器中直接使用 className 属性:

var button = document.getElementById("scriptsubmit");
button.className = "remove";
于 2010-07-31T13:06:37.587 回答
2

两种浏览器都支持className,所以不需要检测任何东西。

于 2010-07-31T13:07:12.060 回答
0

根据这些测试,setAttribute()在 IE 中不完全支持: http ://www.quirksmode.org/dom/w3c_core.html#t1110

解决这个问题的一种方法是创建一个新的 HTML 元素,设置它的属性,然后用它替换按钮,如下所示:

var newButton=document.createElement("button");
newButton.class="remove";

var oldButton=document.getElementById("button");
document.removeChild(oldButton);
document.appendChild(newButton);
于 2010-07-31T13:15:16.150 回答