2012-06-02 58 views
0

我一直不喜歡使用ID和類作爲選擇器,原因很明顯:ID是唯一的,類與樣式有關,應該能夠在不影響網站功能的情況下進行更改。HTML5 JQuery選擇器

我以前喜歡

<div rel="foo">...</div> 

    $("[rel=foo]").click(..); 

什麼是HTML5這樣做的正確方法創建的東西呢?我受到角色的誘惑,但看起來,這個屬性具有特定的含義和目的。

我剛剛學習HTML5,非常感謝您的幫助!

+1

我認爲你的假設「類與風格有關」是錯誤的。從[HTML 5規範](http://www.w3.org/TR/html5/global-attributes.html#classes):「..authors鼓勵使用描述內容性質的值,而不是描述所需內容呈現的值。「類改變了一個元素的語義,他們不 - 固有地 - 描述它的外觀。一個元素的視覺風格是它的意義的副產品(其中只有一個是它的類),而不是相反。 –

回答

1

您可以爲您的元素添加任意數量的類。而當你選擇時,你可以使用一個類作爲選擇器。

<div class="class1 class2 foo"> 

選擇,

$(".foo").click(..); 

你不需要定義foo類你的CSS

+0

我確實喜歡你的觀點。我不喜歡使用對特定元素非常特殊的類,以至於他們對其他用戶無用,例如class =「button-on-signup-form」,我在這麼多網站看到。我更喜歡class =「col notepad private」,或者其他的東西,表示我定義的「這種東西」的各種各樣的東西。將「可摺疊」添加到它並將其捆綁到功能上並不感覺不妥。我會採納這個想法。 – KateYoak

0

嘗試不使用rel,請改爲選擇title。然後你可以使用這樣的jQuery:

$('div [title =「foo」]')。click(...);

使用titleidclass是正確的HTML5。另外,我認爲你應該重新使用類和ID作爲選擇器 - 它非常方便,高效和簡單。

+0

儘管我不喜歡使用標題(它具有特定的用處),但是我查閱了rel並且您是對的 - 它更糟糕:「REL屬性用於給出由超文本鏈接描述的關係,並描述鏈接目的地與包含超文本錨點的文檔之間的關係 - 因此除非存在HREF,否則不能使用REL。REL的值是空格分隔的關係值列表。我將堅持使用這裏所有答案所描述的類。謝謝! – KateYoak

0

內不要違背似地接受的解決方案在這裏:使用屬性。

嘗試詳細說明一個命名約定,該約定映射頁面和組件在這些頁面中的結構。