【发布时间】:2011-02-25 18:20:24
【问题描述】:
根据 http://msdn.microsoft.com/en-us/library/ms535934(v=VS.85).aspx 和 http://msdn.microsoft.com/en-us/library/ms535262(v=VS.85).aspx ,我应该能够执行以下操作来创建一个新的复选框:
var answer = document.createElement('input');
answer.setAttribute('type', 'checkbox');
answer.setAttribute('id', 'answer');
answer.setAttribute('value', 'a');
answer.appendChild(document.createTextNode('test'));
这在 Firefox 和 Chrome 中有效,但在 IE 8 中,最后一个函数调用会产生以下错误消息:
Error: Unexpected call to method or property access.
我已经尝试通过使用 innerText 属性来绕过它,但是这种方法会收到相同的错误消息。
我做错了吗?如果是这样,是什么?如果没有,我该如何规避看似无稽之谈?
【问题讨论】:
-
> 这适用于 Firefox 和 Chrome O RLY?
-
啊。多一点挖掘表明我阅读 HTML 表单示例有点太快了。输入的文本实际上并未包含在输入标签中。至少 Firefox 和 Chrome 没有在函数调用上报错……
标签: javascript dom internet-explorer-8 input appendchild