从附加元素获取jQuery对象的更简单方法

从附加元素获取jQuery对象的更简单方法,jquery,css-selectors,append,Jquery,Css Selectors,Append,使用jQuery append添加元素是否有一种更简单/更快的方法: 如何获取$selectors元素: $container.append('<div class="selectors"></div>'); var $selectors = $('.selectors', $container); $container.append(“”); 变量$selectors=$('.selectors',$container); 我试过: var $selectors =

使用jQuery append添加元素是否有一种更简单/更快的方法:

如何获取$selectors元素:

$container.append('<div class="selectors"></div>');
var $selectors = $('.selectors', $container);
$container.append(“”);
变量$selectors=$('.selectors',$container);
我试过:

var $selectors = $container.append('<div class="selectors"></div>');
var$selectors=$container.append(“”);
但这使得$selector=$container

也许这是最快/最好的方法。只是检查一下。

为什么不:

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


然后您就可以访问“el”。

这是我最喜欢的方法:

var $selectors = $('<div class="selectors"></div>').appendTo(container);
var$selectors=$('').appendTo(容器);
$selectors=$('').addClass('selectors').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>');
$(“
    ”).addChild(“
  • hi
  • ”);
当然,如果您想添加多个项目:

var list = $('<ul>');
list.addChild('<li>item 1</li>');
list.addChild('<li>item 2</li>');
var list=$(“
    ”); 列表.添加子项(“
  • 项目1
  • ”); 列表.添加子项(“
  • 第2项”);
这种方法的优点是,以后如果愿意,可以向“addChild”函数添加更多内容。请注意,对于上述两个示例,您都需要将元素添加到文档中,因此完整示例可能是:

$('body').addChild('<ul>').addChild('<li>hi</li>');
$('body').addChild('
    ').addChild('
  • hi
  • ');
+1-我也是。在将新创建的元素附加到DOM之前,请完成所有需要处理的操作。非常好的信息,谢谢。与其他答案相比,这对我来说有点冗长,但我想知道它是否在性能方面做得更好?在我的特殊情况下,表现不是一个问题,但对其他人来说可能是一个问题;附加到文件中不是问题的一部分。你可以像cletus一样简单,让读者想象$container是UL$container.append(“
  • hi
  • ”);不管怎样,很好。谢谢,嗯。如果在这种情况下,
    $container
    有多个元素,会发生什么情况?在我的例子中,我想在选择器匹配的所有实例中添加一些内容,并获取已创建元素的集合。这将不适用于
    $container
    的多个实例。改用
    appendTo
    技巧
    $('body').addChild('<ul>').addChild('<li>hi</li>');