2010-11-20 83 views
3

我有一些java腳本代碼實現了一種幻燈片放映。它使用一系列img標籤作爲表格來控制其行爲。我可能使用了一些代碼,我找到了一些作爲基礎的代碼。無論如何,img標籤包含一個data-img屬性,在img標籤的任何定義中我都找不到它。現在我發現我需要向img標籤添加更多數據。所以我的問題是:<img>屬性

1)data-img實際上是一個真實的屬性還是adhoc?

2)我可以發明更多的屬性嗎?

3)使用這些屬性有什麼危險?

+4

它在HTML 5中有效。相關:http://stackoverflow.com/questions/1600106/storing-arbitrary-info-in-html-tags-for-javascript – 2010-11-20 13:59:14

+0

爲什麼不只是使用jQuery carosel? – CarneyCode 2010-11-20 14:20:23

回答

2

1)它在HTML 5中有效;它是一個無效的屬性(據我所知,將仍然在所有瀏覽器中工作,但它將打破驗證)在HTML 4

2)據我所知,您可以添加任意屬性並在Javascript中查詢它們,但是這些屬性可能無法在某些DOM操作和瀏覽器創建標記的其他操作中生存 - 可能無效屬性將被簡單地丟棄

3)您的頁面將不再驗證。

背景:Custom attributes - Yay or nay?

+0

從您引用的參考看來,可能是數據 - HTML5中的任何內容都可以。這是正確的嗎?另請參閱http://html5doctor.com/html5-custom-data-attributes/ – 2010-11-20 14:42:19

+0

@Mike數據 - 任何東西在HTML 5中都是絕對有效和正確的,是的。 – 2010-11-20 16:15:37

0
  1. 取決於實施。
  2. 是的,它通常很有用。
  3. 如果在#2中創建,不是真的,否,它們是DOM的一部分,我知道沒有刪除屬性的瀏覽器。
+0

瀏覽器刪除他不知道的屬性。這意味着IE8和更低版本不知道他在說什麼。 – jwueller 2010-11-20 14:03:13

+0

@elusive瀏覽器何時刪除未知屬性?當然不是在正常的HTML/Javascript頁面上下文中? – 2010-11-20 14:09:45

+0

@Pekka:前段時間我遇到了自定義屬性的問題,並認爲它只發生在IE中。不過,我不確定這個背景。 – jwueller 2010-11-20 15:20:25

0

它們是有效的HTML5屬性。

如果您需要使用javascript爲客戶端添加並獲取該數據,而無需與服務器端進行通信,則可以實施與Mootools使用的機制類似的store and retrieve機制。

它不污染DOM並存儲JavaScript對象。