jQuery不允许将属性设置为“选中”

时间:2009-11-03 16:07:45

标签: jquery

我使用的是jQuery 1.3.2,而且我遇到了完全相同的problem mentioned here

 var tmp = jQuery(selector_string);
 tmp.attr("selected", "selected");

我在IE6中正确获得了tmp的价值。但是,将属性设置为“已选择”将失败。它适用于IE7和Firefox。

另一个人having the same problem

3 个答案:

答案 0 :(得分:0)

如果没有IE6,很难验证,但val()可能会更改为value === ''?不确定这是否兼容。

另外,也许.attr("selected", true)

答案 1 :(得分:0)

您确定要设置的DOM元素是下拉列表吗?还是可以“选择”的其他元素?

答案 2 :(得分:0)

我在IE6中处理这样的Dropbox时已经成功,只需在父selectedIndex元素上设置select属性,而不是试图告诉单个选项被“选中”。

$('select#mySelector')[0].selectedIndex = 3; // or whatever

你可以通过统计他的兄弟姐妹来确定个人option的指数

var si = $('option#myOption).prevAll('option').length;

有趣的是,在你所包含的第二个链接中,看到一个解决方案,建议你在操纵DOM和尝试做你想要的之间注入一点点延迟。我猜测IE6的渲染/ javascript引擎必须依赖于在允许此操作之前在页面上可见的元素。 (settimeout将允许这种情况发生。)

祝你好运!