jQuery select 无法设置selected属性 未指明的错误的解决方法

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

// 执行下面语句之后出错

$("#selCourse option").attr("selected",true);

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

// 使用setTimeout之后问题解决

setTimeout(function() {
$("#selCourse option").attr("selected",true);
}, 1);

补充:

鄙视IE6,居然有这样的问题.

如果后续还有其他依赖于selected属性的来进行判断的逻辑,也需要放在setTimeout块中.

setTimeout(function() {
$("#selCourse option").attr("selected",true);
    //eg.
    G.changeSelected();  
}, 100);

有话要说