J'ai une liste non ordonnée et l'index d'une li
balise dans cette liste. Je dois obtenir l' li
élément en utilisant cet index et changer sa couleur d'arrière-plan. Est-ce possible sans boucler la liste entière? Je veux dire, y a-t-il une méthode qui pourrait atteindre cette fonctionnalité?
Voici mon code, qui, je crois, fonctionnerait ...
<script type="text/javascript">
var index = 3;
</script>
<ul>
<li>India</li>
<li>Indonesia</li>
<li>China</li>
<li>United States</li>
<li>United Kingdom</li>
</ul>
<script type="text/javascript">
// I want to change bgColor of selected li element
$('ul li')[index].css({'background-color':'#343434'});
// Or, I have seen a function in jQuery doc, which gives nothing to me
$('ul li').get(index).css({'background-color':'#343434'});
</script>
Réponses:
Les objets DOM n'ont pas de
css
fonction, utilisez le dernier ...docs:
.get(index)
Renvoie: Element.eq(index)
Renvoie: jQueryla source
Vous pouvez utiliser la
.eq()
méthode de jQuery pour obtenir l'élément avec un certain index.la source
Vous pouvez utiliser la méthode eq ou le sélecteur :
la source
$('ul li').eq(index).css({'background-color':'#343434'});
$('ul').find('li')
est plus rapide. [1 , 2 ]Il existe une autre façon d'obtenir un élément par index dans jQuery en utilisant la
:nth-of-type
pseudo-classe CSS :Il existe d'autres sélecteurs que vous pouvez utiliser avec jQuery pour correspondre à tout élément dont vous avez besoin.
la source
Vous pouvez ignorer la jquery et simplement utiliser le balisage de style CSS:
la source