2017-08-30 1 views
0

Es sollte sehr unkompliziert sein, aber aus irgendeinem Grund funktioniert es nicht.addClass zum ersten Kind

$("div.dot-navigation-inner-wrap").find("div:first").addClass("active");
.active { border: 1px solid #CCC; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="dot-navigation-inner-wrap"> 
 
    <div class="dot-navigation">1</div> 
 
    <div class="dot-navigation">2</div> 
 
    <div class="dot-navigation">3</div> 
 
</div>

+0

haben Sie die Konsole auf Fehler überprüft? – guradio

+0

Es gibt keine Fehler, und ich verklag die gleiche Art von Zeile, um eine Klasse zur ersten li einer Liste hinzuzufügen, und es funktioniert. – Sergi

+1

Ich habe Ihre Frage so bearbeitet, dass sie ein ausführbares Snippet enthält. Wie Sie sehen können, funktioniert es gut. Wenn Sie keine Fehler in der Konsole haben, ist es wahrscheinlich, dass Sie den Code ausführen, bevor das DOM bereit ist. Sie sollten den Code in einen document.ready-Event-Handler einfügen (was das obige Snippet automatisch tut). Verwenden Sie '$ (function() {/ * Ihr Code hier ... * /});' –

Antwort

2

Es funktioniert gut. Stellen Sie sicher, dass Sie das Plugin JQuery in Ihre HTML-Datei eingefügt haben.

$("div.dot-navigation-inner-wrap").find("div:first").addClass("active");
.active{ 
 
    color:red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="dot-navigation-inner-wrap"> 
 

 
    <div class="dot-navigation">A</div> 
 
    <div class="dot-navigation">B</div> 
 
    <div class="dot-navigation">C</div> 
 

 
</div>

+0

Ich nehme an, mein Fehler ist woanders, wie ich diese Zeile innerhalb einer doc bereiten Funktion und mehr jQuery, die funktioniert gut ... – Sergi

+1

Nur FYI 'es funktioniert "wird nicht als Antwort angesehen, da es dem OP nicht weiterhilft. All dies beweist, dass sie etwas falsch machen, gibt ihnen aber keine Lösungen. –

0

I'm not having troubles.

Meine unmittelbaren Gedanken sind, dass Sie den JavaScript-Code ausführen, bevor die Seite geladen wird. Dies bedeutet, dass Ihr JavaScript während der Ausführung von JavaScript nicht nach den Tags suchen kann, nach denen Sie suchen.

Betrachten wir in Lastblock umschließt:

$(function() { 
    $("div.dot-navigation-inner-wrap").find("div:first").addClass("active"); 
}); 
+0

Es befindet sich in einer doc ready-Funktion. Es macht keinen Sinn für mich, da ich eine Zeile vor der Zeile eine fast identische Zeile verwende, um eine Klasse zu allen ersten Li's auf der Seite hinzuzufügen, und es funktioniert ganz gut ... So seltsam. – Sergi

0

ich die Klasse wurde hinzugefügt, bevor die Punkte gegeben, wie ich sie ein paar Zeilen nach unten wurde anhängt.

+0

Wenn es in einer doc ready-Funktion war, sollte es keinen Unterschied machen. – Neil

Verwandte Themen