Более простой способ получить объект 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>');