【问题标题】:Creating tables with jQuery without tbody使用没有 tbody 的 jQuery 创建表
【发布时间】:2012-11-15 07:28:28
【问题描述】:

如何在 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>

【问题讨论】:

  • 这不是 jQuery 的错 :) 他是个好人
  • 是谁的错?如何预防?
  • 那么就不要使用表格了.. 将其添加到 div 中.. 因为浏览器默认添加了 tbody .. jsfiddle.net/sushanth009/r7BFq/1
  • 实际上浏览器创建tbody元素不是jQuery。

标签: jquery


【解决方案1】:

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

【讨论】:

  • border-collapse 不起作用,我认为这是因为添加了 tbody。我做了一个边框折叠内联样式。有用。所以我同意你的观点,我应该允许浏览器使我的代码 HTML 有效。
【解决方案2】:

请试试这个演示 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);​

工作图像

【讨论】:

  • @TimothyClemans 在 pre 标记中显示这个 &lt;tr&gt;&lt;td&gt;A&lt;/td&gt;&lt;td&gt;B&lt;/td&gt;&lt;/tr&gt; 这是你想要的吗?休息浏览器无论如何都会添加tbody:)我在 mac air - Lion O/S - safari 浏览器上看不到 tbody jsfiddle.net/d8zVX :)
  • @TimothyClemans 嗯,我已经在上面添加了工作图像!没有tbody 至少在pre 标签上。
  • 是的,但我希望浏览器运行的代码没有 tbody
  • @TimothyClemans 浏览器通过添加tbody 使您的表格更加美观,同时阅读stackoverflow.com/questions/1678494/… stackoverflow.com/questions/7490364/…
  • 谢谢!希望谷歌在我搜索添加 tbody 的 javascript 时向我展示了这些 stackoverflow 问题,不要添加 tbody javascript 等
【解决方案3】:

这很完美:

HTML:

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

查询:

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

【讨论】:

  • 这不是问题/要求的一部分。这段代码完全符合要求。我可以理解它在整个代码的上下文中是否不完全适合您,但它是对所提问题的正确答案。
  • @Jesse 你不能将tr 标签放在div 标签内,这不是有效的标记。
猜你喜欢
  • 1970-01-01
  • 2020-12-25
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-15
  • 1970-01-01
  • 2016-12-18
相关资源
最近更新 更多