Un moyen plus simple d'obtenir un objet jQuery à partir d'un élément ajouté
-
22-07-2019 - |
Question
Existe-t-il un moyen plus simple / rapide d’obtenir l’élément ajouté à l’aide de jQuery append:
Comment obtenir l'élément $ selectors:
$container.append('<div class="selectors"></div>');
var $selectors = $('.selectors', $container);
j'ai essayé:
var $selectors = $container.append('<div class="selectors"></div>');
mais cela rend $ selectors = $ conteneur
Peut-être que c'est le moyen le plus rapide / meilleur. Je vérifie juste.
La solution
Pourquoi ne pas simplement:
var el = $('<div class="selectors"></div>');
$container.append(el);
?
Ensuite, vous avez accès à 'el'.
Autres conseils
C’est ma façon préférée de le faire:
var $selectors = $('<div class="selectors"></div>').appendTo(container);
$selectors = $('<div/>').addClass('selectors').appendTo($container);
Vous pouvez également créer une nouvelle fonction jQuery pour le faire:
jQuery.fn.addChild = function(html)
{
var target = $(this[0])
var child = $(html);
child.appendTo(target);
return child;
};
puis utilisez-le comme suit:
$('<ul>').addChild('<li>hi</li>');
bien sûr, si vous souhaitez ajouter plusieurs éléments:
var list = $('<ul>');
list.addChild('<li>item 1</li>');
list.addChild('<li>item 2</li>');
L’avantage de telles approches est qu’il est possible d’ajouter plus tard à la commande " addChild " fonctionne si tu veux. Notez que pour les deux exemples ci-dessus, vous devez ajouter l'élément au document. Par exemple, un exemple complet pourrait être:
$('body').addChild('<ul>').addChild('<li>hi</li>');