使用jQuery创建表而不使用tbody

时间:2012-11-15 07:28:29

标签: jquery

如何在jQuery中没有将tbody添加到我的代码中的情况下在jQuery中创建表格?见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>

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

请尝试此演示 http://jsfiddle.net/d8zVX/

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

进一步阅读:

Why do browsers still inject <tbody> in HTML5?

引用

  

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

     

表元素不能包含tr元素,即使这些元素也是如此   根据技术上允许在表元素内部使用元素   本说明书中描述的内容模型。 (如果是tr元素   放在标记中的一个表中,它实际上意味着一个tbody   在它之前开始标记。)

这符合需要:)

<强>代码

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

工作图片

enter image description here

答案 2 :(得分:0)

这很完美:

HTML:

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

JQUERY:

$('#table_sample').html('<tr><td>A</td><td>B</td></tr>');
$('#table_sample').text($('#table_sample').html());