为什么JQuery使用这个html字符串创建冗余的<p> </p>元素?

时间:2013-10-23 01:12:42

标签: jquery html

我在JQuery中使用appendhtml都尝试过,但是这两种方法在<p></p>元素之前和之后产生了一对空<table>字符串:

'<p>Blah blah my table below:</p><p><table><thead><tr><th>Col 1</th><th>Col 2</th><th>Col 3</th></tr></thead><tbody><tr><td>1</td><td>H</td><td>B</td></tr><tr><td>1</td><td>P</td><td>B</td></tr><tr><td>3</td><td>H</td><td>A</td></tr></tbody></table></p>'

你可以通过检查这个小提琴的结果面板中的元素来看到这一点:http://jsfiddle.net/KCrrV/

这些空<p></p>来自哪里?

1 个答案:

答案 0 :(得分:3)

Table不能位于p标记内。

因此,您可以在顶部和底部获得empty p个标记

实施例

<p> // Browser makes it <p></p>
<table>.....</table>
</p> // Browser makes it <p></p>
  

P元素代表一个段落。它不能包含块级   元素(包括P本身)。

http://www.w3.org/TR/html401/struct/text.html#h-9.3.1