回答
上https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement没有功能上的差异这一特定的DOM元素
select.options.length
简单地返回options
集合元素的数量的特殊属性(在相同的逻辑document.getElementsByTagName('div').length
),只有一个区别:“如果你想获得真正的技术它的语义”:
select.length
作为一个选择元素包含的选项元素的数量正式宣布。它将通过规格定义始终具有与select.options.length
相同的值,即:select.options.length
是“选择元素上的选项childNodes列表中的元素数量”。技术差异在语义上略有不同,但由于select.length
已被正式化,所有意图和目的始终具有相同的价值。
所以<select>
元素上的第一个技术上的“生命”,对<select>
元素(这是一个HTMLOptionsCollection,不是一个数组!)的options
性的第二生命,但价值总是相同的,它并不重要,你使用。实现规范的浏览器(见[1]和[2])总是给出正确的值。
[1] http://www.w3.org/TR/2002/PR-DOM-Level-2-HTML-20021108/html.html#ID-5933486
[2] http://www.w3.org/TR/2002/PR-DOM-Level-2-HTML-20021108/html.html#HTMLOptionsCollectionwill
你介意链接该规范吗? – Bergi
完成后,添加了w3c规范链接。 –
两个
select.length
和
select.options.length
被所有主流浏览器的支持。
它们之间唯一的区别(据我所知)是
select.length
是返回它的许多选项中选择属性 - 这就是定义。换句话说length
在选择是基于
- 1. Flexform字段选择项目的长度
- 2. 选择不同长度
- 3. 选择数组的长度
- 4. AngularJS选项长度IE
- 5. XSD长度限制选项
- 6. bootstrap选项宽度太长
- 7. 在固定宽度的jquery中选择太长的选项
- 8. 多选择固定宽度的问题太长选项
- 9. 设置家长隐藏高度的动画选择选项
- 10. 定义选择/选项元素的最大可见长度
- 11. 获取文本选择的长度AS3
- 12. 发现长度 - 选择子查询
- 13. 在mongodb中选择字符串长度
- 14. 选择固定长度的查询
- 15. Eclipse中当前选择的长度
- 16. 非法矢量字段选择长度
- 17. jquery按属性长度选择
- 18. 长度为问题选择查询
- 19. 如何选择不同长度
- 20. MySQL的选择,其中VARCHAR长度
- 21. 如何编写选择可变长度
- 22. grid.selection.getSelected()。选择一行的长度
- 23. (Oracle)的选择result'length比最大长度
- 24. Word VBA添加行选择的长度
- 25. MySQL在php中选择列长度
- 26. 如何修改选择框的长度
- 27. 的RichTextbox - 线长度选择问题
- 28. 的Javascript选择数组长度
- 29. ARel按字符串长度选择行
- 30. dijit filtering选择最小长度
你能否澄清 “差异化”?不同的输出,执行速度..? –
@RUJordan有什么区别。到目前为止我还没有找到任何东西,我想知道为什么我们需要两个相同的属性。 – Christophe
你应该使用'.options.length',这样可以使意图清晰并且更加干净。 '