Более простой способ получить объект jQuery из добавленного элемента
есть ли более простой / быстрый способ получить элемент, добавленный с помощью jQuery append:
Как получить элемент $ selectors:
$container.append('<div class="selectors"></div>');
var $selectors = $('.selectors', $container);
пробовал:
var $selectors = $container.append('<div class="selectors"></div>');
но это делает $selectors = $container
возможно, это самый быстрый/лучший способ. Просто проверяю.
4 ответов
почему не просто:
var el = $('<div class="selectors"></div>');
$container.append(el);
?
тогда у вас есть доступ к 'el'.
Это мой любимый способ сделать это:
var $selectors = $('<div class="selectors"></div>').appendTo(container);
вы также можете создать новую функцию jQuery для этого:
jQuery.fn.addChild = function(html)
{
var target = $(this[0])
var child = $(html);
child.appendTo(target);
return child;
};
а затем использовать его так:
$('<ul>').addChild('<li>hi</li>');
конечно, если вы хотите добавить более одного элемента:
var list = $('<ul>');
list.addChild('<li>item 1</li>');
list.addChild('<li>item 2</li>');
преимущество таких подходов заключается в том, что позже вы можете добавить больше в функцию "addChild", если хотите. Обратите внимание, что для обоих приведенных выше примеров вам нужно добавить элемент в документ, поэтому полным примером может быть:
$('body').addChild('<ul>').addChild('<li>hi</li>');