2016-07-26 8 views
0

Ich lerne immer noch die Seile des Webdesigns, und ich habe Probleme zu verstehen, wie ein paar Dinge funktionieren ...

Ich habe eine Funktion zum Umschalten der Navigationsleiste Headerfarbe, und ich finde die folgendes wahr, aber nicht sicher, warum:

Works:

$(".navbar.navbar-inverse".click(function() { 
    $(this).toggleClass("highlight"); 
}); 

nicht funktioniert (Raum btw navbar und navbar-invers):

$(".navbar .navbar-inverse".click(function() { 
     $(this).toggleClass("highlight"); 
    }); 

Und falls ich diese Funktion auf das navbar-Toggle gelten, gilt das Gegenteil:

Works (Raum btw navbar und navbar-Toggle):

$(".navbar .navbar-toggle").click(function() { 
       $(".navbar-inverse").toggleClass("highlight"); 
      }); 

funktioniert nicht:

$(".navbar.navbar-toggle").click(function() { 
        $(".navbar-inverse").toggleClass("highlight"); 
       }); 

Bonus ...

Kann nicht navbar-Toggle-Hintergrund mit diesem Ansatz ändern:

funktioniert nicht:

$(".navbar .navbar-toggle").click(function() { 
       $(this).toggleClass("highlight"); 
      }); 

Antwort

4

Die erste bezieht sich ein Element mit Klassen navbar und navbar-toggle, der zweite bezieht sich .navbar-toggle die ein Nachkomme von .navbar ist. Das setzt einen Platz frei :)

+0

Thank you! Irgendwelche Vorschläge, warum das letzte Bit nicht funktioniert - kann die Hintergrundfarbe der Navigationsschaltfläche nicht mit der beschriebenen Methode ändern? Oder brauchst du mehr Code dafür? –

+0

@Nate Versuchen Sie, Speicherplatz zu entfernen? – nicael

+0

Scheint nicht zu funktionieren. Hier ist mein Jsfiddle, wenn das hilft: https://jsfiddle.net/m9m9q8mo/2/ –

1

Wie in this answer zu sehen, können Sie Elemente (z. B. namens "navbar") auswählen, die eine bestimmte Klasse ("navbar-inverse") mit "navbar.navbar-inverse" enthalten. Wenn Sie ein Leerzeichen zwischen den beiden addieren, im Grunde bedeutet es

alle Elemente auswählen, die die Klasse navbar-inverse und sind Kinder der navbar

Beifall

+0

Der Antwort-Link war sehr hilfreich, danke! Die Kennzeichnung von nicael ist jedoch korrekt, nur wegen der Kürze. –