jquery .append自动呈现结束标记

时间:2015-09-24 11:43:43

标签: jquery html append

我正在使用.append将html添加到div中。 但是当我使用.append时,标签也将被关闭。 例如,第一行将呈现<li></li>,而不仅仅是<li>

如何解决这个问题。是否有另一种方法来渲染我的嵌套UL / LI

的JavaScript

$("#test_UL").append("<li>");
$("#test_UL").append("<a href='#'><span>link</span></a>");
$("#test_UL").append("<ul>");
//more stuff an foreach to render list items

$("#test_UL").append("</ul>");
$("#test_UL").append("</li>");

1 个答案:

答案 0 :(得分:2)

同样的事情你必须采取不同的行动:

$('<li>',{
    html:'<a href="#"><span>link</span></a>'
}).appendTo('#test_UL');

因为当您在jQuery包装器中传递任何html字符串时,它被认为是创建一个元素,因此如果您不添加它,它会动态添加一个结束标记。所有这些都是一样的:

var html = $('<li>')
var html = $('<li/>') 
var html = $('<li></li>')

实际上幕后jQuery使用document.createElement()方法。

或者你可以创建一个变量并连接html字符串,然后只需附加它:

var html = '<li>';
    html += '<a href="#"><span>link</span></a>';

$('#test_UL').append(html);
相关问题