2011-06-23 44 views

回答

1

只要您設置custom data attributes,這是非常好的做法,其目的是保存有關這些元素的元數據。數據屬性的格式爲data-name,其中name可以是任何有效的描述符。

傳統上人們會添加類,並且在某些情況下,這仍然是適當的(例如,當類描述屬性的狀態並且還表示主要使用類的樣式類時)。

+0

大概你的答案是基於HTML5,這不是一個標準,並沒有完全或甚至廣泛的支持。另外,標記是關於表示的,而不是數據,因此將數據與表示對象相關聯與保持表示和數據分離不一致。 – RobG

+0

@RobG,你在說什麼? HTML5 **是**的標準。是否廣泛支持/實施是無關緊要的:通過getter/setter方法http://caniuse.com/數據屬性將適用於每個瀏覽器(包括ie6例如:http://stackoverflow.com/questions/ 2412947/DO-HTML5的定製數據的屬性,工作在IE-6 /)。分離問題不是不使用數據屬性的原因,它只是明智地使用它們。數據的存在不會以任何方式改變標記在不同視圖中的顯示,因此不會造成任何傷害。 – davin

+0

davin - HTML5 **不是**的標準。最新的W3C版本是[工作草案](http://www.w3.org/TR/html5/)。還有各種編輯和工作草案,但尚未達到推薦狀態。由於沒有支持所有瀏覽器的瀏覽器,因此只能根據特定功能對支持進行明智的描述。如果您將數據放入演示文稿對象中,則該程序需要知道從哪個對象獲取數據。如果將一個或多個數據對象的表示組合在一起,或者將一個對象分佈在兩個以上的UI對象中,那麼數據模型必須知道什麼是/哪裏。 – RobG

1

如果您認爲標記是關於表示的,那麼將數據與HTML元素關聯就不符合該理念。如果您認爲這並不重要,那麼請使用HTML5中引入的屬性data-。但請注意,HTML5並不是一個標準,並且還沒有得到廣泛支持(如果術語「支持」在不斷變化的「生活規範」中具有任何含義)。但是,data-屬性可能不會打亂大多數瀏覽器,但您必須使用get/setAttribute以獨立於瀏覽器的方式可靠地訪問它們。

將數據與演示分開保存是一種很好的做法,因此您可以更改演示文稿以提供同一數據的多個視圖。如果您將數據綁定到演示文稿,則會降低您執行此操作的能力。這也意味着更改數據模型可能會不必要地影響表示。

將數據存儲在對象中並將其與元素(比如元素的id)相關聯可能會提供更快的數據訪問速度(直接屬性訪問比傳遞字符串的函數調用快得多),並允許更靈活用戶界面和數據模型。

相關問題