IE为什么不在我的dropDown中添加?

我正在用IE运行这个示例脚本 :

var $select = $('#select'); var $button = $('#button'); $button.click(function() { var $option = $(''); $option.text('hello'); $option.appendTo($select); }); var $tabs = $('#tabs'); $tabs.tabs(); 

这很简单:当点击按钮时,应该在我的下拉列表中添加一个option 。 这很好用 – IE中的基本function。

我的问题:
只需“打开”dropDown,然后再“关闭”它。 现在切换到选项卡“按钮”并按下按钮。 现在切换到选项卡“选择” – 应该有一个新option
这适用于除IE之外的每个浏览器…(有时IE在几个标签切换后混乱)

我该如何修复脚本?

对于选择框添加option比添加option DOM元素( 实例 )更简单,更加跨浏览器友好的方式:

 $button.click(function() { var option = new Option('hello'); $select[0].options.add(option); }); 

也许这对你来说更可靠。 (注意它是add而不是 pushselect元素上的options对象实际上不是数组。)

而不是options.add你也可以这样做:

 $button.click(function() { var options = $select[0].options, option = new Option('hello'); options[options.length] = option; }); 

…也以类似arrays的方式添加到最后。 但add是可靠的跨浏览器。