3

如何在 jQuery 中创建表而不通过 jQuery 将 tbody 添加到我的代码中?见http://jsfiddle.net/r7BFq/

$('table').html('<tr><td>A</td><td>B</td></tr>');
$('pre').text($('table').html());​

结果是

<tbody><tr><td>A</td><td>B</td></tr></tbody>

我不想要那个。我想:

<tr><td>A</td><td>B</td></tr>
4

3 回答 3

2

为什么要尝试删除tbody. 您的浏览器正在尝试添加有效 html 的部分,您丢失了。这不是很好吗?

于 2012-11-15T07:36:51.633 回答
1

请试试这个演示 http://jsfiddle.net/d8zVX/

引用@undefined bruv:Actually browser creates the tbody element not jQuery

进一步阅读:

为什么浏览器仍然在 HTML5 中注入 <tbody>?

引用

由于历史原因,某些元素甚至具有超出其内容模型给出的限制的额外限制。

一个 table 元素不能包含 tr 元素,即使根据本规范中描述的内容模型,这些元素在技术上是允许在 table 元素中的。(如果将 tr 元素放在标记中的表格内,它实际上将暗示它之前的 tbody 开始标记。)

这将满足需要:)

代码

$('table').html('<tr><td>A</td><td>B</td></tr>');
var hulk = $('table').html().replace(/<\/?tbody>/g, '');;
$('pre').text(hulk);​

工作图像

在此处输入图像描述

于 2012-11-15T07:39:59.070 回答
0

这很完美:

HTML:

<div id="table_sample"></div>

查询:

$('#table_sample').html('<tr><td>A</td><td>B</td></tr>');
$('#table_sample').text($('#table_sample').html());
于 2012-11-15T07:44:03.887 回答