【问题标题】:How do i remove <tbody> tags from an HTML table?如何从 HTML 表格中删除 <tbody> 标签?
【发布时间】:2012-01-14 04:11:22
【问题描述】:

正如标题所说:我需要一种从嵌套 HTML 表中删除标签的方法。有什么建议吗?

【问题讨论】:

  • 恐怕不会发生 - 大多数浏览器会在它们丢失时注入它们。它们是表格的重要组成部分。
  • &lt;tbody&gt; 标签对你做了什么!? :O
  • 投反对票的是什么?这是一个完全有效的问题。无论如何,我试图在具有嵌套表的 HTML 表上使用可排序的用户 jquery。嵌套的 tbody 似乎把它搞砸了。
  • 你本来可以这么说的,那么你的问题就不会被否决这么多。
  • 我仍然认为反对票是没有根据的。似乎他们是由那些在那种事情上下车的编程学究所铸造的。感谢 BoltClock 的回答。

标签: javascript jquery html


【解决方案1】:

您不能拆分 HTML 表格。

如果您希望去除 HTML 字符串中多余的 &lt;tbody&gt;&lt;/tbody&gt; 标记,请进行字符串替换:

var html = '<table><tbody>...</tbody></table>'.replace(/<\/?tbody>/g, '');
$(html).appendTo('body');

但浏览器在渲染 HTML 时仍然会将表格行放在表格主体中。

【讨论】:

  • 不,它没有 -- &lt;table&gt; 被允许拥有 &lt;tr&gt; 孩子:w3.org/TR/html-markup/table.html
  • @Joe:哎呀,我脑子里放了个屁。据我所知,浏览器仍然将&lt;tr&gt;s 放在&lt;tbody&gt; 中。
  • 这有点复杂,如果你在源 HTML 中没有&lt;tbody&gt;,一些浏览器肯定会把它放在那里,我知道 Chrome 会。但是,如果您在 JS 中创建 &lt;tr&gt;&lt;td&gt; 元素并附加它们,它不会为您创建 &lt;tbody&gt;jsfiddle.net/nwellcome/SJyWq
  • @nwellcome:令人着迷——这就是我需要开始编写测试的原因。感谢您的辛勤研究:)
【解决方案2】:

你试过 jquery remove() 函数吗?

【讨论】:

  • 删除表格主体连同所有行
  • @BoltClock,公平地说,Tester 并没有明确说明这是否是他想要做的。哎呀,他从来没有说过这甚至应该发生在浏览器中,在这种情况下我说使用 sed:$sed -i 's/&lt;[\/]*tbody&gt;//g' file.html
猜你喜欢
  • 2016-04-28
  • 2021-08-21
  • 1970-01-01
  • 2020-03-11
  • 1970-01-01
  • 2012-12-02
  • 2018-12-09
  • 2010-10-20
  • 2015-02-27
相关资源
最近更新 更多