HTML 屬性參考

HTML 屬性參考

內容與 IDL 屬性

在 HTML 中,大部分的屬性有兩種面向:內容屬性與 IDL 屬性。

內容屬性是你可以從內容中設定的屬性 (HTML 程式碼) 而且你可以藉由 element.setAttribute() 或是 element.getAttribute() 來設定它或得到它。內容屬性永遠都是字串,即便我們所期望的值是一個整數。舉例來說,假設今天要用內容屬性去設定一個 元素的最大長度是 42,你必須在該元素上呼叫 setAttribute("maxlength", "42")。

IDL 屬性也被稱為 JavaScript 特性。你可以使用 JavaScript 特性的 element.foo 以閱讀或是設定這些屬性。當你要得到 IDL 屬性時,它總是要使用 (但可能改變) 基本的內容屬性以返回值,而當你要設定 IDL 屬性時,它需要儲存資料在內容屬性中。換句話說,IDL 屬性在本質上反映了內容屬性。

在大部分的時間中,當 IDL 屬性真正被使用時,將會返回它們的值。舉例而言, 元素的預設型態是 "text",所以如果你設定 input.type="foobar", 元素一樣是 text 的型態 (在外觀和行為上而言),但是 "type" 內容屬性的值將會變成 "foobar"。然而,IDL 屬性的型態將會回傳 "text" 字串。

IDL 屬性並非永遠的字串 ; 舉例來說,input.maxlength 便是一個數字(型態為 signed long)。當使用 IDL 屬性,你會閱讀或是設定所需的型態,而當你設定 input.maxlength 時,它總是回傳一個數字,因為它正需要一個數字。如果你傳入別的型態,它會依照標準 JavaScript 型態轉換規則,將傳入值轉成一個數字。

IDL 屬性可以 反應其他型態,例如 unsigned long、URLs、booleans,等等。不幸的是,並沒有明確的規則來規範,而且與 IDL 屬性行為相對應的內容屬性連結中,也沒有取決於該屬性的方式。在大部分的時間裡,它會遵守 規範中所制定的規則,但有時候它並不會。HTML 規範嘗試讓它變得容易使用,但由於各種原因 (大多是因為歷史),有些屬性表現得很奇怪 (舉例來說,select.size),而你應該詳細閱讀規範以了解各個屬性的行為。

相关阅读

365提款验证地址是什么 海信LED50K320U

海信LED50K320U

365bet导航 【C语言】bool 关键字详解

【C语言】bool 关键字详解

365提款验证地址是什么 句容盗窃3200判多久

句容盗窃3200判多久

365提款验证地址是什么 苹果手机壁纸如何设置?简单步骤教学

苹果手机壁纸如何设置?简单步骤教学

365bet导航 Java编写XML文档的秘诀:轻松上手,掌握高效操作技巧

Java编写XML文档的秘诀:轻松上手,掌握高效操作技巧

365提款验证地址是什么 煮熟的螃蟹会爬树?海南的五指山没有孙悟空,却有……

煮熟的螃蟹会爬树?海南的五指山没有孙悟空,却有……

365bet导航 《红色警戒1》指令快捷键大全

《红色警戒1》指令快捷键大全

365提款验证地址是什么 时间简史哪个版本比较好?

时间简史哪个版本比较好?

365bet导航 苹果手机指南针功能详解:使用技巧与常见问题解答

苹果手机指南针功能详解:使用技巧与常见问题解答