2011-12-05 53 views
3

因此,假設我有這樣的標籤是否有使用HTML標籤由屬性的任何可能的負面影響

<a href=""></a> 

,然後我做了一些不規範的屬性

<a lol="haha" href=""></a> 

如果你問爲什麼,好讓我可以方便地使用由屬性在我的JavaScript ...

我的問題是...有沒有這樣做的任何可能的負面反響....有沒有什麼好的原因,我不應該這樣做?

謝謝先進。

+3

的HTML警察已經在他們的方式到你家門口...... – nnnnnn

+0

像其他人所說的,添加了「數據 - 」前綴爲您的自定義屬性。像數據一樣,而不僅僅是大聲笑。根據HTML5規範,任何具有該前綴的自定義屬性都是有效的,而其他屬性則不是。 – TK123

回答

7

瀏覽器將幾乎普遍地處理自定義屬性。當我說普遍,我的意思是even IE6

課程標準的方式來做到這一點是:

<a data-lol="haha" href=""></a> 

其中,因爲你已經標記使用jQuery,我會提到可以用

$("a").data("lol"); 
讀取(甚至IE6)
+0

IE6絕對可以處理它。 IE5.5也處理它。我記不起來了。 (其實雖然我懷疑它會一直罰款,我不知道,如果IE5.5處理連字符的屬性,但它_definitely_處理一個字的自定義屬性像的問題。) – nnnnnn

+0

@nnnnn - 謝謝,我很確定6沒有。我會告訴你5.5的話:)當我聽說6沒有嘔吐時,我感到非常震驚;我對該瀏覽器的期望很低 –

+0

最近十八個月前,我被迫使用IE6(以及它的代碼),而真正的主要問題是關於某些CSS功能的非標準處理(或缺乏支持) 。 (在大多數情況下,事件相關的東西很容易解決。) – nnnnnn

1

有一個屬性,家族,作出準確的說:data-*。你應該使用

<a data-lol="haha" href="#"></a> 

這將是有效的,並避免任何頭痛。自定義屬性可能與預定義屬性(或尚不存在的屬性)衝突,或導致不符合規範的分析器出現問題。

1

你可以用HTML5做:

<a data-lol="haha" href=""></a> 

至於缺點,我要說的是:標準是有原因的製作。只是因爲它看起來它的工作原理並不意味着它會今後的工作。

+0

請注意,甚至(至少有一些)HTML5之前的瀏覽器都支持這一點,所以這是一個非常安全的選項。 – nnnnnn

相關問題