2011-12-09 4 views
0

これはかなり基本的ですが、私のページのbodyタグにあるクラス名を取得してコンソールに記録するにはどうすればよいですか?bodyタグにどのようなクラスが出力されるのですか

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

ボディータグに 'ios4'クラスがあるかどうかに関係なく、このログアウトはコンソールに行われますか?

+0

は '。 – RobG

答えて

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

はい、それは関係なく、あなたの体が 'iOS4を' クラスを持っているかどうかの動作します。

+0

そこにいくつかの引用符がありません – Ben

+0

そこに行く!私はアップヴォートを戻してもらえますか? – Jeb

+1

申し訳ありません、それは金曜日です。 – Ben

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

そして、あなたはまた、チェックするために.hasClassを使用することができます

それらを介してループすることができるはずです。

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

+3

+1。潜在的な二重スペーシングを取り除くために 'split(/ \ s + /)'を実行することもできます。 – Ben

+0

@Ben、nice one。 – griegs

+0

@Ben:そこにトリムを投げたいかもしれませんね。 – mpen

0

上記の投稿は間違いなく機能します。 jQueryにアクセスできない場合は、classNameを使用できない場合はclassNameを使用してください。

console.log(document.body.className); 

これは動作するはずであり、jQueryを必要としません。

+0

なぜ 'replace(/、/ i、" ")'? – Ben

+0

私は最初にそれを誤って読みました。私はカンマで区切られたクラス名のリストを解析しようとしていると思っていました。私の間違い。私はそれを置き換えた。 –

+0

カンマ区切りのクラス名..面白い:) – Ben

0

。 これはシンプルなので、JQueryを使用しないときは、 でもOKです。このバージョンはすべてのブラウザ(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( "")私たちが知っているようにだけワンBODYがあることを、配列を返します。ページ内のタグ、それゆえ我々は を助け[0]

希望を配列、iedocument.getElementsByTagName(「」)の最初の要素をとっています。
よろしくKushal

0

本のいずれかでのjQueryは必要ありません:document.body.className`がどうなる

var classes = document.body.className; 
var classList = classes.split(" "); 
関連する問題