2010-01-08 89 views
3

jQuery中的class和id有什麼區別?例如:jQuery中的class和id有什麼區別?

<span class="lalal"></span> 

<span id="lalal"></span> 

因爲一個良好的工作與jQuery和另一個不是真的。 謝謝。

+0

可能的複製,http://stackoverflow.com/q/1215618/425313 – 2013-05-02 03:21:34

回答

7

ID在頁面上應該是唯一的,當你有多個具有相同ID的元素時,jQuery只選擇第一個。這是因爲它不必擔心尋找其他人,因爲不應該有任何更多可以解釋您正在經歷的奇怪行爲的東西。

如果你想多個元素具有相同的功能,給他們相同的類。如果你想識別一個特定的元素,給它一個id。這不僅限於jQuery,還包括HTML和CSS。

+0

現在我明白爲什麼我有一個錯誤。謝謝。 – 2010-01-08 23:31:21

5

我不認爲這個區別確實是一個jQuery的東西 - jQuery只是「借用」它的選擇器語法從HTML/CSS。

最大的區別在於:ids意味着獨特,類不是。

檢查出this article爲這個問題的冗長,全面的處理。

1

元素可以有多個類,多個元素可以具有相同的類,但只有一個元素可以具有特定的ID。 (如果你定義了多個具有相同ID的元素,jQuery將只返回第一個元素)。

有效:

<span class="myclass myclass2 mycall3"></span> 

<span class="myclass"></span> 

<span id="myspan"></span> 

ID是指一個特定的控制,因此,只有一個控制應具有特定ID。

如果您具備以下條件:

<span id="myspan">Hello</span> 

<span id="myspan">Goodbye</span> 

如果您選擇使用jQuery

$("#myspan").html(); 

jQuery將選擇第一個,並返回Hello

邊注意以下幾點:class和id與jQuery無關,一切都與有效的HTML有關。 jQuery和CSS使用這些約定來選擇特定的元素。

4

類和ID來自CSS。 ID在你的HTML文檔中應該是唯一的(認爲是「mainmenu」),類可以在同一個文檔中多次使用。 ID通常標識文檔中的唯一項目,因爲類可以幫助將常用樣式應用於頁面中的多個項目。

所以,如果你想隱藏,說與「綠色」類中的所有鏈接,你可以這樣做:

$('a.green').hide(); 

然後用「綠色」類中的所有鏈接將隱藏。如果你想隱藏特定項目與ID,而(比如說< DIV ID =「MainMenu的」 >),你會怎麼做:

$('#mainmenu').hide(); 
0

id是網頁唯一標識一個元素,無論它的類型(按鈕,div,收音機等),其中Class用於標識特定類型的元素。

歡呼

相關問題