以下代码:
$('<TABLE />').append('<TR><TD>1</TD></TR>').appendTo('BODY');
导致DOM结构略有不同。
在2.2.4下你得到&lt; TABLE&gt;&lt; TBODY&gt;&lt; TR&gt; ...
var table = $('<TABLE />');
table.append('<TR><TD>1</TD></TR>').appendTo('BODY');
console.log(table.prop('outerHTML'))
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
&#13;
在3.1.1下,你得到&lt; TABLE&gt;&lt; TR&gt; ...
var table = $('<TABLE />');
table.append('<TR><TD>1</TD></TR>').appendTo('BODY');
console.log(table.prop('outerHTML'))
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
&#13;
(一个有TBODY
,一个没有)
如果您以后拥有#id TBODY TR
等选择器(以获取所有正文行,并且没有标题行),则会导致问题。
我已审核了jQuery Core 3.0 Upgrade Guide,但无法查看可能相关的任何内容。
所以我的问题是......这是预期的行为还是JQuery中的错误?