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
, 而不是 push
。 select
元素上的options
对象实际上不是数组。)
而不是options.add
你也可以这样做:
$button.click(function() { var options = $select[0].options, option = new Option('hello'); options[options.length] = option; });
…也以类似arrays的方式添加到最后。 但add
是可靠的跨浏览器。