当我使用 jQueryappend()
方法时,生成的 HTML 输出不是我想要的顺序。
正如您在下面的测试用例中看到的,任何时候我打开一个DIV
标签而不关闭它,它仍然是关闭的。
标签也是如此<ul>
- 在我预期之前它也被关闭了 - 我希望它在<li>
应该嵌套在它下面的第二个标签之后关闭。
按照编写顺序构建大块动态 HTML 的最佳方法是什么?
$('#a').remove(); // remove #a from the dom and re-insert it dynamically
$("<div id='a'>").insertAfter('div#main');
$('#a').append(" <ul>");
$('#a').append(" <li>A</li>");
$('#a').append(" <li>B</li>");
$('#a').append(" </ul>");
$('#a').append(" <div id='X1'>");
$('#a').append(" <div id='b'>");
$('#a').append(" <div id='b1'></div>");
$('#a').append(" <div id='b2'></div>");
$('#a').append(" </div>");
$('#a').append(" <div id='c'>");
$('#a').append(" <p id='c1'></p>");
$('#a').append(" </div>");
$('#a').append(" </div>");
$('#a').append(" <div id='X2'>B</div>");
$('#a').append("</div>");
<div id="main>
<div id="a>
<ul></ul> // <ul> tag is closed!?
<li>A</li>
<li>B</li>
<div id='X1'></div> // div is closed!?
<div id='b'> // div is closed!?
<div id='b1'></div>
<div id='b2'></div>
<div id='c'></div> // div is closed!?
<p id='c1'></p>
<div id='X2'>B</div>
</div>
</div>