2014-05-13 118 views
5

爲客戶端構建網站,但僅限於主頁我需要在主div上獲取用於css目的的類。爲此,我試圖在菜單項上尋找主動類,如果它有活動類,則向主網頁的div添加一個不同的類。檢查元素是否具有活動類,如果是這樣,請將類添加到其他元素

到目前爲止,我不能得到更進一步則是:

<script> 
$(document).ready(function() { 
if $('li.level1.item101').hasClass('active'); 
$('#main').addClass('woodwork');} 
}); 
</script> 

參與這個(李項)的HTML看起來像這樣當與DIV在頁面本身

<li class="level1 item101 active current"> </li> 
<li class="level1 item102"> </li> 
<div id="main"> </div> 
下方某處活躍

我當前的代碼似乎並沒有能夠抓住任何活動裏或DIV,任何幫助將不勝感激

+3

格旁邊的李?那是無效的DOM。 –

+1

你也不需要使用.find()來獲得一個id,只需使用'$('#main')'因爲ID必須是唯一的。 – Anton

+1

你目前的代碼看起來像是無效的。試着用所有的括號寫一個實際的if語句,curlies:'if(...){...}'。你也不想做'addClass('。woodwork')',但'.addClass('woodwork')' – christian314159

回答

10

首先,你有一些錯誤,你的代碼中, HTML應該是:

<li class="level1 item101 active current"> active</li> 
<li class="level1 item102"> second</li> 
<div id="main"> main </div> 

和JavaScript:

$(document).ready(function(){ 
    if ($('li.level1.item101').hasClass('active')) { 
    $('#main').addClass('woodwork'); 
    } 
}); 

下面是一個工作fiddle

+0

非常感謝,這工作完美,我知道我有一些錯誤是的,但不能'弄清楚究竟在哪裏以及究竟是什麼。 –

+0

很高興我能幫忙:) –

0

如果這是你的HTML

<ul> 
    <li class="level1 item101 active current"> </li> 
    <li class="level1 item102"> </li> 
</ul> 
<div id="main"> </div> 

JavaScript的應該是這樣的

$(document).ready(function(){ 
    if ($('li.item101').hasClass('active')) 
     $('#main').addClass('woodwork'); 
}); 

在這裏,我只是看是否有item101有類活動的,如果是這樣的類Listelement我給DIV-標籤ID爲主要的類木製品

相關問題