2016-06-06 9 views
0

sagen, dass ich so etwas wie diese:jQuery nur eine Instanz von .First ersetzt()

<div class="carousel-inner onebyone-carosel" id="carousel-inner"> 
    <div class="item"> 
     <!--Stuff--> 
    </div> 
</div> 

<!--Same thing again--> 

<div class="carousel-inner onebyone-carosel" id="carousel-inner"> 
    <div class="item"> 
     <!--Stuff--> 
    </div> 
</div> 

Nun, wenn ich $(".carousel-inner div:first").addClass('active'); verwenden, active die Klasse nur die div der erstencarousel-inner hinzugefügt wird. Der zweite bleibt so wie er ist.

Ist dies das erwartete Verhalten? Oder fehlt mir etwas?

+0

Sie haben verwendet **: ** ersten Selektor, so dass es wird aktive Klasse beim ersten div hinzufügen. – Rohit

Antwort

1

Ja, es würde es nur zum ersten div hinzufügen.

Tun Sie dies:

$(".carousel-inner div:first-child").addClass('active'); 
1

.carousel-inner div:first wählt das erste Auftreten von .carousel div! Sie können jquery find() für diesen Zweck verwenden:

$(document).ready(function(){ 
 
$(".carousel-inner").find("div:first").addClass('active'); 
 
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="carousel-inner onebyone-carosel" id="carousel-inner"> 
 
    <div class="item"> 
 
     sdsd 
 
    </div> 
 
</div> 
 

 
<!--Same thing again--> 
 

 
<div class="carousel-inner onebyone-carosel" id="carousel-inner2"> 
 
    <div class="item"> 
 
     dfgdfg 
 
    </div> 
 
</div>

0

Der :first CSS-Selektor die erste Instanz eines div Element innerhalb eines div mit der Klasse von carousel-inner gelegen zurückkehrt. AKA, die erste Instanz von .carousel-inner div

Wenn Sie die erste Instanz eines div in jeder Instanz eines .carousel-inner Element verwenden, um ein Kind Wähler wollen, :nth-child(1) oder :first-child

Verwandte Themen