回答
上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',這樣可以使意圖清晰並且更加乾淨。 '