Более простой способ получить объект jQuery из добавленного элемента - PullRequest
78 голосов
/ 18 сентября 2009

Есть ли более простой / быстрый способ добавить элемент с помощью jQuery append:

Как получить элемент $ selectors:

$container.append('<div class="selectors"></div>');
var $selectors = $('.selectors', $container);

Я пытался:

var $selectors = $container.append('<div class="selectors"></div>');

но это делает $ selectors = $ container

Может быть, это самый быстрый / лучший способ. Просто проверяю.

Ответы [ 4 ]

152 голосов
/ 18 сентября 2009

Почему бы просто:

var el = $('<div class="selectors"></div>');
$container.append(el);

Тогда у вас есть доступ к 'el'.

59 голосов
/ 18 сентября 2009

Это мой любимый способ сделать это:

var $selectors = $('<div class="selectors"></div>').appendTo(container);
5 голосов
/ 18 сентября 2009
$selectors = $('<div/>').addClass('selectors').appendTo($container);
2 голосов
/ 23 января 2014

Вы также можете создать новую функцию 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>');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...