7
votes

Syntaxe d'enveloppe JQuery

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: xxx

Ce qui précède devrait tourner ceci: xxx

dans ceci: xxx

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.

suis-je mal compris?

mise à jour:

Un exemple plus simple qui ne fonctionne pas: xxx

qui ajoutera simplement la div après la mybox.

Il semble que JQuery n'aime pas envelopper ajouté à après.


0 commentaires

6 Réponses :


3
votes

Avez-vous essayé xxx

juste à des fins de test?

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 $ () à spécifie une structure DOM . Cette structure peut être Nettères plusieurs niveaux profonds, mais devraient ne contient qu'un seul élément de plus. le la structure sera enveloppée autour de chaque des éléments dans l'ensemble de correspondance éléments.

Si l'exemple ci-dessus fonctionne, c'est la raison; -)


3 commentaires

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 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é



0
votes

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: xxx

ou xxx

Voici les docs JQuery sur la question.


3 commentaires

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



1
votes

J'ai gagné cela pour travailler: xxx pré>

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" />'));


1 commentaires

C'est mes retombées, mais j'essaie d'éviter de passer à nouveau à traverser les choses.



1
votes

Tu ne cherches pas envelopper. Vous voulez:

divB.append(divA).insertAfter('#myDiv');


2 commentaires

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.