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"); });
4 Réponses :
Pour changer tous les enfants directs en rouge, vous pouvez utiliser
menu.find('li').css("color","red");
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.
Vous devez exécuter quelque chose comme ceci:
menu.children('li').css('color', 'red');
Comment puis-je déboguer dans FF pour obtenir Nan?
Eh bien, je viens d'exécuter {} + 'a' code> en Firebug
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');
Essayez
menu.children('li').css('color', 'red');