所以我有以下div
<div id="object_list">
我想在其中附加一个列表和项目。所以我运行以下jquery
$("#object_list").empty();
$("#object_list").append('<ul');
$("#object_list").append(list.contents());
$("#object_list").append('</ul>');
该代码运行后,#object_list看起来像这样
<div id="object_list">
<ul></ul>
...list.contents() elements
</div>
即使在调试之后,如果我再做一次$("#object_list").append('<ul>');
,我得到的是<ul>
之后的</ul>
。为什么jquery没有附加到list.contents()之后的html,而是在它之前?
答案 0 :(得分:3)
问题是,当您要将项目附加到列表本身时,您会继续附加到“object_list”。 (顺便说一下,你也没有关闭你的UL实例化标签)
尝试这样的事情:
var $list = $("<ul></ul>");
$list.append("<li>Something 1</li>");
$list.append("<li>Something 2</li>");
$list.append("<li>Something 3</li>");
$("#object_list").append($list);
答案 1 :(得分:1)
追加不只是附加标签,它实际上附加了元素。在您的情况下,您希望将列表项追加到一个无序列表中,该列表将附加到您的div。
执行:
$('<ul>').appendTo('#object_list').append(list.contents());