7
votes

Sélecteur Variable et JQuery

J'essaie de comprendre celui-ci pendant environ 2 jours et je ne peux pas comprendre pourquoi cela ne fonctionne pas.

Dites par exemple, je déclare une variable "UL" et je veux dire Var + Li Afficher Rouge. P>

$("document").ready(function () {
    var menu = $("ul");
    $(menu + " li").css("color", "red");
});


0 commentaires

4 Réponses :


9
votes

Pour changer tous les enfants directs en rouge, vous pouvez utiliser

menu.find('li').css("color","red");


3 commentaires

Je veux utiliser ce que j'ai ci-dessus, je viens de rendre l'exemple facile à comprendre.


Vous essayez d'ajouter une chaîne à un objet JQuery. Il ne fonctionnera pas!


$ ("ul") est un objet JQuery - vous ne pouvez pas "ajouter" une chaîne à elle et obtenir quelque chose d'utile ... vous pouvez faire $ ("Li", menu) ou menu.fr () ou menu.find ( ). Ou vous pouvez stocker Var MenusLector = "ul" puis $ (Menuselector + "Li") fonctionnerait, mais l'une des options ci-dessus serait bien meilleure.



3
votes

Vous devez exécuter quelque chose comme ceci:

menu.children('li').css('color', 'red');


2 commentaires

Comment puis-je déboguer dans FF pour obtenir Nan?


Eh bien, je viens d'exécuter {} + 'a' en Firebug



2
votes

Ce que vous faites mal, c'est ajouter un objet jQuery avec une chaîne. Essayez:

var menu = $('ul');
menu.find('li').css('color', 'red');


0 commentaires

0
votes

Essayez

menu.children('li').css('color', 'red');


0 commentaires