我正在使用.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>");
答案 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);