。的getElementsByTagName()的setAttribute();不适用于IE8

时间:2014-08-01 14:03:26

标签: javascript

我正在尝试将输入框转换为按钮。它在所有浏览器中都运行良好,接受IE8。

HTML代码

<input value="click here"></input>

JavaScript代码

document.getElementsByTagName("INPUT")[0].setAttribute("type","button");

1 个答案:

答案 0 :(得分:-1)

由于IE8不允许您更改输入的类型,因此您必须创建一个模仿旧元素的新元素,并将其放在旧元素的位置。

var button = document.createElement("INPUT");
var input = document.getElementsByTagName("INPUT")[0];
for(var i = 0, attrs = input.attributes, l = attrs.length; i < l; i++)
  button.setAttribute(attrs.item(i).nodeName, attrs.item(i).nodeValue);
button.setAttribute("type", "button");
var parent = input.parentNode;
parent.replaceChild(button, input);