2011-12-09 48 views
0

我知道這是非常基本的,但是如何獲取頁面正文標籤上的類名並將它們記錄到控制檯?我有以下內容:如何輸出正文標籤上的類別

if (navigator.userAgent.indexOf('OS 4') != -1) $("body").addClass('iOS4'); 
console.log($(body).attr(class).text()); 

請注意到控制檯無論我的身體標記是否有'ios4'類?

+0

'document.body.className'會做。 – RobG

回答

1
console.log($("body").attr("class")); 

是的,不管你的身體是否有 'iOS4的' 階級它會工作。

+0

缺少一些報價有 – Ben

+0

有雅去!我可以收回我的upvote嗎? – Jeb

+1

好吧,只是因爲它是星期五 – Ben

5
$('body').attr('class').split(' ') 

,那麼你應該能夠循環通過他們

你也可以使用.hasClass檢查。

http://api.jquery.com/hasClass/

+3

+1。你也可以做'拆分(/ \ S + /)'這將負責消除潛在的雙倍間距.. – Ben

+0

@本,很好的一個。 – griegs

+0

@Ben:可能還想在那裏拋一個裝飾,不是嗎? – mpen

0

以上帖子肯定會有效。如果你沒有訪問jQuery的話,但是如果你沒有它,可以使用className。

console.log(document.body.className); 

這應該工作,不會需要jQuery。

+0

爲什麼'replace(/,/ i,「」)'? – Ben

+0

我一開始誤讀了它。我以爲他試圖通過一系列逗號分隔的類名解析。我的錯。我替換了它。 –

+0

逗號分隔的類名..有趣的:) – Ben

0

。 那麼簡單,當不使用JQuery,你可以這樣做: 此版本應該適用於所有瀏覽器(包括:IE6 +,FireFox:3+,Safari:1.3+,Opera:9+):)

//This will give a String containing all classes 
var classes = document.getElementsByTagName("body")[0].className; 

//This will give a list(Array) of class Names 
var classes = document.getElementsByTagName("body")[0].className.split(' '); 

可以與任何感興趣的代碼替換「身體」 :)

注:document.getElementsByTagName(「」)返回一個數組,因爲我們知道,世界上只有一個身體因此,我們採取了數組的第一個元素,iedocument.getElementsByTagName(「」)[0]

希望可以幫助 。
問候Kushal

0

有任何的這種不需要的jQuery:

var classes = document.body.className; 
var classList = classes.split(" ");