2010-07-26 52 views
0

我坚持试图让下面的JavaScript在IE工作:为什么someInputElement.type ='button';在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()将它隔离到这些行。

非常感谢

回答

3

对于IE,在将其添加到文档之前,您需要先设置按钮。 I .: .:

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

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

我想我还需要设置值之前设置类型。 – Chris 2010-07-27 00:34:28

1

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

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