2011-01-26 28 views
1

有既有的ID和類頁面上的body標籤:如何找出如果代碼具有特定的class和id

<body class="class" id="id"> 

我試圖使用jQuery機會一些內容進一步在頁面的下方,根據類和id是什麼。我沒有成功,爲什麼它值得,這是我試圖做的:

if($('body').is('#id1')){ 
    if($(this).hasClass('class1')){ 
     $('ul.nav li.first').html('<h2>Special Title</h2>'); 
    }else if($(this).hasClass('class2')){ 
     $('ul.nav li.first').html('<h2>Other Title</h2>'); 
    } 
}else if($('body').is('#id2')){ 
    if($(this).hasClass('class1')){ 
     $('ul.nav li.first').html('<h2>Special Header</h2>'); 
    }else if($(this).hasClass('class2')){ 
     $('ul.nav li.first').html('<h2>Other Title</h2>'); 
    } 
} 

任何人都有一個快速的方法來做到這一點?我很害怕「如果」循環使用jQuery,總是這樣。

乾杯,

牛逼

回答

2

爲了記錄,沒有必要在這裏使用jQuery。

var isId = (document.body.id === someId); 
var isClass = (document.body.className.indexOf(someClass) !== -1); 

if (isId && isClass) { 
    // do something 
} 

[編輯]

類檢查是可怕的。嘗試

var regexp = new RegExp("(^|//s)" + someClass + "($|//s)", "m"); 
var isClass = (document.body.className.search(regexp) !== -1); 
+0

什麼時候有!需要!使用jQuery呢? – jAndy 2011-01-26 12:40:38

0

沒關係。對於任何人想知道,我從來沒有定義什麼$(this)是。用$('body')代替它,它現在可用。

對不起所有。移動,沒有什麼可以在這裏看到!

相關問題