2015-12-11 21 views
0

我有這樣的一個案例:將數據放入html5數據中是否正確?

屏幕上有很多'岩石',每一個都有像克,分數和速度的屬性。一旦點擊了搖滾,我們就會發布它的屬性。

現在我把所有的石頭的屬性都放在了dom中,像data-gram,data-score和data-speed。 'e.target'用於獲取dom,所有屬性都是如此。

<div class="rocks" data-gram="10" data-score="100" data-speed="10"></div> 

我想知道是不是有缺點?

另外,還有其他更好的方法嗎?

+0

這就是爲什麼它存在的原因,還有其他的解決方案,但這一個肯定是有效的。請注意,您可以通過jquery'$ .data'方法訪問這些屬性。 –

+0

@ WillemD'Haeseleer - 用純JS完成它並不困難:http://www.sitepoint.com/use-html5-data-attributes/並且您還可以使用CSS根據其數據設置樣式 – Pikamander2

回答

1

這是正確的,這些data-領域是爲這些用途而製造的。

另一種方法是簡單地在Javascript中創建一個數組或對象來保存這些信息。當您單擊元素時訪問DOM時,它根本無關緊要。

如果您嘗試訪問沒有DOM訪問權限的數據,那麼在這種情況下使用Javascript數組/對象應該更快。

真的取決於你。

1

是的。以這種方式存儲與HTML屬性相關的數據是完全有效的。 MDN有一個關於它的整篇文章。 https://developer.mozilla.org/en/docs/Web/Guide/HTML/Using_data_attributes我會問的問題是,這是否符合你的消費/與這些數據交互的方式。你使用的是JavaScript框架嗎?你有沒有考慮從JSON的外部來源加載這些數據?這會更合適嗎?在我的情況下,我會傾向於從外部json feed中加載這些數據。我發現更靈活,它適合圖書館像角。

+0

In我的情況,我需要知道哪個石頭被點擊並獲得其所有屬性。如果它不把所有屬性放在DOM上,我會在DOM上放置一個數據ID,然後使用此ID在JavaScript中搜索一些數據結構(例如JSON)並獲取所有屬性。 – Hank

相關問題