J'ai le code suivantComment puis-je envelopper un élément avec un élément généré dynamiquement en utilisant jQuery?
var input = $('#el_id');
wrapper = $(document.createElement('div'));
wrapper.addClass('small');
wrapper.css('width',200);
input.wrap(wrapper);
alert(input.children().length)
Je reçois 0 pour la longueur des enfants. Ce que je veux est:
<div class="small" style="width: 200px;">
<input type="text" id="el_id" />
</div>
Mais je veux que la petite div soit générée dynamiquement. Une idée de pourquoi cela ne fonctionne pas?
MISE À JOUR
Il se trouve mon problème se trouve sur une autre ligne de code. Je veux assigner l'enveloppe à une variable après que j'emballe et:
block = input.wrap("<div class='"+container_class+"' style='width: "+wrap_width+"px;'></div>");
ne fonctionne pas. Il renvoie l'entrée qui a du sens. Mais comment puis-je retourner l'emballage?
Merci!
la chose me vissage est « enveloppé » dans votre exemple ne retourne pas les mêmes résultats que si je devais simplement saisir l'élément d'emballage avec $ (« # wrapper_id »). Savez-vous pourquoi? – Tony
- Whoops je pensais wrap() a renvoyé le nouveau contexte - désolé. Vous pouvez tout simplement faire: input.wrap ("..."); var enveloppé = input.parent(); –