我遇到了一个奇怪的IE特定错误。似乎在使用document.createElement创建无线电输入时,生成的小部件不会响应点击。当您点击它们时,它们会灰显一秒,但它们不会被检查。它在FF3中按预期工作,但在IE7中没有。知道这是怎么回事?
<html>
<body>
<form>
<div id="foo">
</div>
</form>
<script>
var foo = document.getElementById('foo');
var t = document.createElement('input');
t.type='radio';
t.name ='fool';
var f = document.createElement('input');
f.type='radio';
f.name ='fool';
foo.appendChild(t);
foo.appendChild(f);
</script>
</body>
</html>
答案 0 :(得分:6)
出于某种原因,在IE中创建这样的单选按钮不起作用。
似乎有效的解决方案(根据发现here的文章):
var r;
try {
// This works in IE
r = document.createElement('<input type="radio" name="foo1"/>');
} catch( err ) {
// For everyone else
r = document.createElement('input');
}
r.setAttribute('type', 'radio');
r.setAttribute('name', 'foo1');