2017-06-09 2 views
0

Je dois sélectionner tous les enfants d'un élément sauf le premier. Je travaille avec le module drupal et colorbox, et je ne peux pas ajouter des classes uniques ou un ID au premier élément seul.Sélectionner tous les enfants sauf le premier de l'élément

<span> 
<span> 
<a> </a> <a> <img> </a> 
<a> <img> </a> 
<a> <img> </a> 
</span> 
</span> 

je cette structure et peut avoir plus <a> <img> </a> mais vous voyez l'idée.

En bref. J'ai besoin de sélectionner toutes les balises d'image à l'intérieur des balises a <a> <img> </a> afin que je puisse leur appliquer une règle CSS, sans affecter la première balise <a>. Peut-être y at-il une solution Jquery à cela? Merci

+0

Votre balise est invalide. Vous avez 2 'a' dans le premier lien –

+0

édité, merci. –

+0

est-ce que ma réponse fonctionne avec le nouveau balisage? –

Répondre

2

Utilisez :not(:first-child) pour excluez le premier lien

.myClass img { 
 
    content: url('http://kenwheeler.github.io/slick/img/lazyfonz2.png'); 
 
} 
 

 
.myClass a:not(:first-child) img { 
 
    content: url('http://kenwheeler.github.io/slick/img/lazyfonz3.png'); 
 
}
<span> 
 
<span class="myClass"> 
 
<a> <img> </a> 
 
<a> <img> </a> 
 
<a> <img> </a> 
 
</span> 
 
</span>

Il est fondamentalement la même chose en jquery.

$('a:not(:first-child)').css('background','red');
a { 
 
    height: 1em; 
 
    width: 1em; 
 
    background: black; 
 
    display: inline-block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span> 
 
<span> 
 
<a> <img> </a> 
 
<a> <img> </a> 
 
<a> <img> </a> 
 
</span> 
 
</span>

+0

supposons que c'est la deuxième durée Cela devrait être le CSS? .myClass a: not (premier enfant) {display: inline;} –

+0

@MarwanAK ': first-child' et l'avez-vous essayé? mis à jour ma réponse ... –

0

vous pouvez utiliser cette $("span>a").not(":eq(0)")

$("span>a").not(":eq(0)").css('background','red');
.myClass a { 
 
    width: 100px; height: 100px; 
 
    background: black; 
 
    display: block; 
 
} 
 
.myClass a:not(:first-child) { 
 
    background: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> 
 
<span> 
 
<span> 
 
<a> dsada</a> <a> <img> </a> 
 
<a>dsada <img> </a> 
 
<a> dsada<img> </a> 
 
</span> 
 
</span>

+0

Merci, il a été résolu =) –

+0

votre bienvenue :) vous pouvez également utiliser jquery .not (": eq (0)") fonction – hasan