更新
不幸的是,我通过谈论.value
属性引起了一些混淆,但随后要求在浏览器中提供任何功能支持。
事后看来,我想我现在需要的是知道.value
是否“安全”使用,因此这就是我接受@ BeatAlex答案的原因(因为他们付出了努力来实际测试在多个浏览器上。
原始问题
使用javascript,the accepted way获取/设置<option>
中所选<select>
的值正在使用.value
属性。
多年来我没有使用.value
属性,因为我被告知“旧浏览器”不支持它。相反,我使用长形式......
dd.options[dd.selectedIndex].value;
但我刚做了一些研究,我找不到任何对哪个“旧浏览器”这种影响的引用。例如this quirksmode article甚至提到“旧浏览器”,但没有提供任何更多信息。
哪些“旧浏览器”在.value
元素上没有<select>
属性?在主流浏览器中何时可以使用特定功能时,是否存在某个参考?
注意:遗憾的是,由于系统上使用了旧的第三方组件,jQuery目前无法使用
答案 0 :(得分:5)
.value
适用于Windows XP中支持的大多数最旧的浏览器。
<select id="select">
<option value="Hello1">1</option>
<option value="Hello2">2</option>
<option value="Hello3">3</option>
<option value="Hello4">4</option>
<option value="Hello5">5</option>
</select>
JavaScript的:
var id = document.getElementById("select");
id.onchange = function(){
alert(this.value);
}
这适用于:
(全部从Windows XP运行)
IE6
Firefox 3.0
Safari 4.0
Chrome 14.0
Opera 10.6
这就是Browserstack可以追溯到的。
答案 1 :(得分:2)
似乎我们需要转到IE 3才能找到不支持value
元素的select
属性的浏览器。我发现a problem description说:“我在IE3.0.2中获取所选选项的值时遇到了一些麻烦。以下[访问value
属性的代码]适用于所有类型的Netscape和IE 4“并引用IE 3错误消息”值不是对象“。
这意味着在实践中我们现在可以将value
视为普遍支持。