给定 HTML:
<select id="mySelect">
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>
和 JavaScript:
var e = document.getElementById('mySelect');
要获取我可以使用的选择值e.value
and e.options[e.selectedIndex].value
.
我知道e.options[e.selectedIndex].value
会给我选定的值(1,2 或 3)并且e.options[e.selectedIndex].text
会给我 test1、test2、test3,具体取决于选择的内容。
只用就可以吗e.value
?这是旧浏览器中的问题吗?
哪个更正确:e.value
vs e.options[e.selectedIndex].value
?
jsFiddle
The HTMLSelectElement
接口包括value
属性至少自 1998 年文档对象模型 (DOM) 1 级规范开始。
然而,就像它所解释的那样这个 w3c 邮件列表,问题是 HTML4.01 规范含糊不清:
确实,HTML4.01 没有显式指定 value 属性
对于 SELECT,但它似乎确实是隐含的:
“菜单”是一种控件类型。 (HTML4.01 17.2.1)
“每个控件都有一个初始值和一个当前值,两者都有
这是字符串”(HTML4.01 17.2)
And SELECT
可能有一个onchange
隐含值的属性。
(HTML4.01 17.6)
但没有提及该值代表什么,也没有提及
初始值或默认值可能是。
然而,在 IE5 和 Mozilla 中检查,值SELECT
确实
返回当前选择的值对应的字符串OPTION
.
(...) 如果 HTML4.01 更加明确的话,可能不会成为问题。
这在以下定义中得到了修复。
你可以在这里看到它的定义:
-
HTMLSelectElement's value in DOM 级别 1,W3C 建议,1998 年 10 月 1 日
当前表单控件值。
-
HTMLSelectElement's value in DOM 级别 2,W3C 建议,2003 年 1 月 9 日
当前表单控件值(即当前选定选项的值),如果选择了多个选项,则这是第一个选定选项的值。
-
HTMLSelectElement's valueHTML5、W3C 候选推荐
The value
IDL 属性在获取时必须返回value的
第一的option中的元素选项列表 in 树序有它的选择性设置为 true(如果有)。如果没有,那么一定有
返回空字符串。
所以我认为使用是安全的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)