C'est fin de journée. J'espère que je suis juste avoir une laps de plus logique.
Je ne peux pas obtenir cela pour travailler: p> Ce qui précède devrait tourner ceci: p > dans ceci: p> mais il ne semble pas fonctionner avec ce "enveloppement" là-bas. Je ne reçois aucune erreur, cela n'enveloppe pas la diva avec Divb et insère simplement Diva par lui-même. P> suis-je mal compris? p> mise à jour: p> Un exemple plus simple qui ne fonctionne pas: p> qui ajoutera simplement la div après la mybox. P> Il semble que JQuery n'aime pas envelopper ajouté à après. p> p>
6 Réponses :
Avez-vous essayé juste à des fins de test? p> Autant que je sache, vous ne devez pas passer un objet JQuery à la fonction d'enveloppe: < / p> la fonction .Wrap () peut prendre tout
chaîne ou objet qui pourrait être passé
à la fonction d'usine $ () à Si l'exemple ci-dessus fonctionne, c'est la raison; -) p> p>
Bon à savoir! Hélas, même en faisant juste une corde, je ne peux toujours pas le faire travailler (voir nouvel exemple dans mon post)
Il faut un objet JQuery, car l'usine $ () peut le prendre. Prendre $ ($ ('<
')) par exemple@ DÉNESPAPP, vous avez raison ... il devrait I> le prendre, mais ce n'est pas le cas. C'est-à-dire que cela l'acceptera, mais cela ne fera rien d'utile. stupide stupide. devrait être mieux documenté
Je peux lire ce faux, mais si vous utilisez jQuery, n'est-ce pas un caractère réservé? Avez-vous essayé simplement de définir vos noms variables afin qu'ils ne l'utilisent pas?
Si oui: p> ou p> Voici les docs JQuery sur la question. P> P>
Il y a un peu de débat sur le fait de le faire ou non, mais beaucoup de gens préfèrent toute variable qui est un objet jQuery avec la $
Wow ne le savait pas. Ressemble à php ou à perl!
vous confondez $ diva avec $ (diva). Ils ne sont pas les mêmes. Et $ diva n'est pas non plus identique à $, ils sont comme A et B, deux noms de variables distincts
J'ai gagné cela pour travailler: avec votre HTML pour résoudre votre question initiale. ici est la source de la fonction de fin de JQuery. Ce code ira rendre la chaîne montez un niveau (au niveau de la mydiviv), puis enveloppera en fonction de la recherche ('. Classa') à ce niveau. Cela trouvera votre div ajouté avec après et enveloppez-le dans DIV avec Classb. P> EDIT:
OK, je pense que cela fonctionnera pour vous comme vous le souhaitez: p> var divA= $("<div></div>").addClass('classA');
$('div#myDiv').after($(divA).wrap('<div class="divB" />'));
C'est mes retombées, mais j'essaie d'éviter de passer à nouveau à traverser les choses.
Tu ne cherches pas envelopper. Vous voulez:
divB.append(divA).insertAfter('#myDiv');
Je vais bien voter cela comme cela semblerait accomplir la même chose. Agréable! Je suis toujours curieux de savoir pourquoi la méthode d'enveloppe que j'utilise uniquement partiellement fonctionne. Il semble que cela devrait faire ce que je veux dire ou devrait échouer comme éblouir.
Vous avez eu un vote up juste parce que vous aviez été voté. Je déteste les gens qui vottent sans retour d'information.
vient de sculpter sur ce fil ayant le même problème: jQuery .wrap () ne fonctionne pas a> p>
Je pense que si vous changez de code de p>
Vous obtiendrez votre enveloppement. P> $ mydiv.after ($ diva.wrap ($ divb)) code> to
$ mydiv.after ($ diva.wrap ($ divb) .parent ()) code> p>
La partie déroutante aurait peut-être été à vous que Vous devez donc utiliser le parent strong> objet de l'enveloppé comme ceci: p> ( de sorte que la partie clé est que Voir la référence: P> Cette méthode renvoie l'ensemble d'éléments d'origine pour la chaînage
buts. p>
http://api.jquerery.com/wrap/ p>
blockQuote> p> .wrap () code> renvoie l'élément interne, pas l'élément parent.
$ diva.parent () code> est égal à
$ divb code> après L'emballage) p>
$ diva.wrap ($ divb) code> retourne
$ diva code>, pas
$ davo Code> p>