运行以下jQuery代码:
我会期望这样的结果:
然而,结果是这样的:
$('body').append('<p><span><ul><li>test</li></ul></span></p>');
我会期望这样的结果:
<p>
<span>
<ul>
<li>test</li>
</ul>
</span>
</p>
然而,结果是这样的:
<p>
<span></span>
</p>
<ul>
<li>test</li>
</ul>
为什么ul标签会打破span和p的结构?这是合法的HTML标记。
* 更新 *
问题似乎在于p标签。如果您运行以下代码:
$('body').append('<span><ul><li>test</li></ul></span>');
那么
<span>
<ul>
<li>test</li>
</ul>
</span>
将会正确生成。
append
与HTML字符串完全兼容。 - T.J. Crowder