Javascript 选择元素是否具有标准值属性?

Javascript 选择元素是否具有标准值属性?,javascript,dom,selectedvalue,Javascript,Dom,Selectedvalue,这是一个简单的问题,但我找不到任何参考资料,所以它就在这里 假设我有一个select元素: <select id="sel"> <option value="1">1</option> <option value="2">2</option> </select> 这很有效。但是,我发现select元素也有一个value属性: console.log( sel.value ); //1 请参见两个示例 第二

这是一个简单的问题,但我找不到任何参考资料,所以它就在这里

假设我有一个select元素:

<select id="sel">
    <option value="1">1</option>
    <option value="2">2</option>
</select>
这很有效。但是,我发现
select
元素也有一个value属性:

console.log( sel.value ); //1
请参见两个示例

第二种形式不仅简单得多,它还可以一直使用到IE6(是的,我确实测试过它,下面是示例)

第一种方法被广泛接受有什么原因吗?第二种方法是否存在不兼容或角落问题

注:我的“最常用的方法”论文主要基于个人经验,但作为参考,在第一种方法中,两个最受欢迎的答案使用了第一种方法。

options
nsidomhtmloptions集合此元素包含的元素集。只读

selectedIndex
long第一个选定元素的索引

value
DOMString此表单控件的值,即第一个选定选项的值

但是它也说

selectedOptions
未实现(请参见bug 596681)HTMLCollection选择的选项集。HTML5


因此,如果您希望具有多选但通用的兼容性,则必须循环使用
选项
,但如果只有单选,
sel.options[sel.selectedIndex].value
sel.value
是等效的,但前面的选项“更相似”要形成一个多选的循环需要。

第一个选项之所以被广泛接受,只是因为它更为人熟知。第二种选择很好


您是否已验证它在Navigator 4上工作?

选择多个值时会发生什么情况?相关MDN页面:@PaulS。我懂了。
返回第一个选定选项的值。您可以在回答中使用它。@Fabriciomatté,当您忽略角案例时,询问角案例的问题不是一个好主意。@zzzzBov好的,我的错,让我们考虑多个值。谢谢,看到MDN中
select
value
属性的定义,我就放心了,因为它是一个标准属性,而不是HTML5中引入的属性之一。我想直到不久前我才意识到这一点。不幸的是,我只支持旧IE,因为它在世界上的一些地方被广泛使用。对于IE以外的其他主流浏览器,我只使用最新版本进行测试。即使与IE6相比,Firefox2的使用率也应该接近零。
console.log( sel.value ); //1