为什么someInputElement.type ='button';在IE中失败?

时间:2010-07-26 23:34:23

标签: javascript internet-explorer dom

我一直试图让以下javascript在IE中运行:

var lastMonthBn = document.createElement('input');
td.appendChild(lastMonthBn);
lastMonthBn.value='<';
lastMonthBn.type = 'button'; // Fails in IE
lastMonthBn.setAttribute('type','button'); // Also fails in IE

由于某种原因,我无法将输入设置为按钮,它会失败。适用于chrome和firefox。所以我有点困惑,并没有任何运气试图让它运作。

我已经使用alert()将它隔离到那些行。

非常感谢

2 个答案:

答案 0 :(得分:3)

对于IE,您需要先将按钮设置,然后再将其添加到文档中。即:

var lastMonthBn = document.createElement('input');
lastMonthBn.value='<';
lastMonthBn.type = 'button';

td.appendChild(lastMonthBn); // put this last

答案 1 :(得分:1)

这是原因吗?来自:http://msdn.microsoft.com/en-us/library/ms536389(v=VS.85).aspx

  

使用createElement创建输入元素时,必须执行第二步。   createElement方法生成一个输入文本框,因为这是默认输入   类型属性。要插入任何其他类型的input元素,首先调用createElement for   输入,然后在下一行代码中将type属性设置为适当的值。