Разница в JavaScript между IE и Firefox - PullRequest
2 голосов
/ 31 июля 2010

У меня есть следующие строки Javascript:

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

В Firefox это работает отлично, а в Internet Explorer - нет.

Я знаю, что Internet Explorer ожидает, что класс будетclassName, но я не уверен, как определить, какой из них использовать в качестве обнаружения объекта, в данном случае не подходит.

Спасибо за ваши ответы

Ответы [ 3 ]

5 голосов
/ 31 июля 2010

Вы можете просто использовать свойство className непосредственно в обоих браузерах:

var button = document.getElementById("scriptsubmit");
button.className = "remove";
2 голосов
/ 31 июля 2010

Оба браузера поддерживают className, поэтому не нужно ничего обнаруживать.

0 голосов
/ 31 июля 2010

Согласно этим тестам, 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);
...