IE和Firefox之间的Javascript差异

时间:2010-07-31 13:02:22

标签: javascript object-detection

我有以下几行Javascript:

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

在Firefox中,这种方法非常有效,而在Internet Explorer中却没有。

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

感谢您的回复

3 个答案:

答案 0 :(得分:5)

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

var button = document.getElementById("scriptsubmit");
button.className = "remove";

答案 1 :(得分:2)

两种浏览器都支持className,因此无需检测任何内容。

答案 2 :(得分:0)

根据这些测试,IE中不完全支持setAttribute()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);