我可以在JQuery中删除很少的HTML标签吗?

时间:2011-06-11 14:16:26

标签: jquery

在我的HTML代码中,我想检查以下HTML代码并在页面加载时自动删除它,我如何在JQuery中执行此操作?

需要删除的第一个代码

<table cellspacing="0" cellpadding="0" width="100%"><tbody><tr class="yellow"><td width="64%" valign="top">

需要删除的第二段代码

</td></tr></tbody></table>

3 个答案:

答案 0 :(得分:1)

如果在id标记上放置classtable属性,则可以使用jQuery remove()函数从DOM中完全删除元素及其内容:

$('#yourTableId').remove();

答案 1 :(得分:1)

  

我不想删除整个表,只想删除标签

您无法从实时HTML文档中删除“标记”。生活在Web浏览器中的文档是DOM“节点”的树。节点维护文档的当前状态,最初是从HTML源代码中的标记解析的。但该标记现已消失,无法恢复(*)或在浏览器中进行编辑。

因此,您有一个表示table元素的节点,其中包含<table>开始标记和相应</table>结束标记之间所有内容的节点。在这种情况下,这是一个tbody元素节点,其中包含一个tr元素节点,其中包含一个td元素节点。

要“解开”内部内容,您需要将其从表中取出并将其放在桌子所在的位置。您可以使用以下命令在jQuery中执行此操作:

$('#mytableid td').eq(0).contents().replaceAll('#mytableid');

也就是说,将表替换为第一个单元格中的所有内容。

(*:您可以阅读innerHTML从DOM元素节点获取标记字符串,但此序列化是新生成的标记,通常不会完全相同就像你投入的那样。)

答案 2 :(得分:0)

据我所知,您需要从页面中删除表格。为此,

$('table').remove();

会奏效。但是,如果您提供<table id='xxx'...,则使用

会更方便
$('table#xxx').remove(); // or just $('xxx')..