2014-05-13 7 views
5

Erstellen einer Website für einen Client, aber nur für die Hauptseite Ich brauche eine Klasse auf dem Hauptdiv für CSS-Zwecke. Dafür versuche ich nach einer aktiven Klasse für den Menüpunkt zu Hause zu suchen, und wenn sie die aktive Klasse hat, dann füge dem div der Hauptwebseite eine andere Klasse hinzu.Überprüfen Sie, ob Element die Klasse aktiv hat, wenn ja, fügen Sie Klasse zu einem anderen Element hinzu

so weit kann ich nicht bekommen viel weiter dann das:

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

der HTML-Code für diese beteiligt (das li Artikel) sieht wie folgt aus, wenn sie aktiv mit dem div irgendwo unten in der Seite selbst

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

mein aktueller Code nicht in der Lage sein scheint entweder den aktiv li oder div zu packen, wäre jede Hilfe sehr

+3

div neben li geben ?? Das ist ein ungültiges DOM. –

+1

Sie müssen auch nicht .find() verwenden, um eine ID zu erhalten, verwenden Sie einfach '$ ('# main')' da IDs eindeutig sein müssen – Anton

+1

Ihr aktueller Code sieht so aus, als sei er ungültig. Versuchen Sie, eine tatsächliche 'if'-Anweisung mit allen Klammern, Curlies: 'if (...) {...}' zu schreiben. Du willst auch nicht 'addClass ('. Woodwork')' aber '.addClass ('woodwork')' – christian314159

Antwort

10

Zunächst einmal geschätzt wird, haben Sie einige Fehler mit dem Code, der html sollte sein:

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

und die javascript:

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

Hier ist ein funktionierendes fiddle

+0

Vielen Dank, das hat perfekt funktioniert, ich war mir bewusst, dass ich ein paar Fehler drin hatte, aber konnte nicht t es herauszufinden, wo und was genau. –

+0

Froh, dass ich helfen könnte :) –

0

Wenn dies Ihr HTML ist

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

Das JavaScript wie folgt

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

Hier schaue ich nur, wenn das Listelement mit der Klasse item101 die Klasse aktiv ist, wenn es so ist, ich den div-Tag mit der ID Haupt der Klasse Holz

Verwandte Themen