2009-10-08 55 views
1

那麼我已經看到了這個問題here。但有點困惑。有提供幾種解決方案: -使用jquery獲取div的類

  1. var div1Class = $('#div1').attr('className');

    這一次是帶有2票接受的解決方案。

  2. var divClass = $("#div1").attr("class")

    這有一個向上投票了。

這是正確的嗎?如果兩者都是正確的,那麼兩者之間的區別是什麼?

+0

如果您只想測試一個元素是否具有特定類名,請考慮使用jQuery的is方法 - $(「#div1」)。is(「。一些「)' – 2009-10-08 10:19:15

+0

很酷...謝謝Alex .. !! – Manish 2009-10-08 11:19:06

回答

5

它允許使用'class',jQuery將修復它, 但jQuery推薦使用'className'Attributes/attr

爲避免與類定義衝突,DOM將'class'屬性重命名爲'className'。 對於重命名爲'htmlFor'的'for'屬性也是如此。 (請參閱here:1.6.2。命名異常)

3

沒有HTML屬性className - 正確的代碼是:

var divClass = $("#div1").attr("class"); 

className是一個Javascript DOM屬性,所以如果你不使用jQuery你可以這樣做:

var divClass = document.getElementById('div1').className; 
+0

好吧,className選項是我提供的問題鏈接上接受的解決方案! – Manish 2009-10-08 10:25:19

+0

我一直使用'class',但是是的,似乎najmeddine在他的回答中也是正確的(或者實際上,我們都是對的):http://www.nabble.com/class-or-className-td5219071s27240.html – 2009-10-08 10:27:46

+0

是的,我想他更正確.. !! :-)所以標記他的答案作爲解決方案 – Manish 2009-10-08 10:33:04