我正在构建由jquery支持的自己的JS库。构造函数开始在现有div的基础上构建以充实它。在库中我正在进行ajax调用,所以对于这个初始div我知道如何追加(这是传入的初始div):
var t = this;
var sdiv = t.append("<ul class='foo'></ul>");
所以现在我需要遍历并将元素追加到变量“sdiv”。出于某种原因
$(sdiv).append("<li class='bar'>" + element[i] + "</li>");
无效/渲染。如何将元素附加到作为变量创建的其他元素?
由于
答案 0 :(得分:2)
它无效,因为sdiv
与t
变量相同,因为append
会返回最初选择的元素。
相反,在其自己的变量中创建ul
,然后在追加时使用该引用。试试这个:
var $t = $(this);
var $sdiv = $('<ul />', { class: 'foo' }).appendTo($t);
// in your loop...
$('<li />', { class: 'bar', text: element[i] }).appendTo($sdiv);
请注意,我还将this
包装在jQuery对象中。假设此代码正在事件处理程序中执行,您需要这样做。
答案 1 :(得分:0)
var $t = $(this)
var $sdiv = $('<ul class="foo"/>');
然后在你的循环中执行以下操作:
$sdiv.append( $('<ul class="bar"/>').text( element[i] ) );
然后最后将$sdiv
追加到$t
:
$t.append( $sdiv );