IE6中出现“无法设置selected属性”的bug及解决方法

如果在IE6中设置select控件的selected属性的时候,会提示“无法设置selected属性。未指明的错误。”比如执行如下代码:

var selectObj = document.getElementById('selectId');
// 执行下面语句之后出错
selectObj.options[1].selected = true;

后来查了一下资料,发现这个错误在IE5.5、7及Firefox等浏览器下面没有问题,唯独IE6下有如下的提示。后来有人找到了一个解决的方法,就是设置selected属性的时候使用setTimeout函数设定一个时间即可,代码如下:

var selectObj = document.getElementById('selectId');
// 使用setTimeout之后问题解决
setTimeout(function() {
selectObj.options[1].selected = true;
}, 1);

参考资料:
急!请教高手:利用xml的selected问题!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注