繁体   English   中英

通过js删除特定的html标签及其内容

[英]remove specific html tag with its content by js

这是我要更改的html代码。

<table>
    [some table row]
    <tr class="high">
        some text
    </tr>
    [many more table row]
</table>

现在,我想删除以下标记及其类和内部内容。 有什么办法可以使用“ replace(/ pattern /,'')”之类的替换命令将其删除。

请写一些有关如何编写模式的细节。

如果您的表格有一个ID,请说出table_id您可以使用

var table = document.getElementById('table_id');
for(var i=0; i<table.rows.length;i++){
    if(table.rows[i].className=="high"){
        table.deleteRow(i);
        break;
    }
}

您可能想看一下jQuery库。 它提供了许多搜索和更改html代码的方法。

您可以搜索CSS模式并删除元素:

jQuery("tr.high").remove();

http://www.jquery.com

(由于您正在处理HTML,因此我假设您正在浏览器中运行JavaScript。)

与其尝试使用正则表达式来解析HTML(通常是个坏主意),不如实际构建DOM树然后遍历它来获取所需的内容可能更好。

例如,您可以将该表放在断开连接的div中:

var div = document.createElement('div');
div.innerHTML = your_html_string;

...然后使用DOM方法(可能还有innerHTML )和/或库来获取所需的内容。

参考文献:


如果您打算在浏览器上使用JavaScript进行大量工作,建议您使用jQueryPrototypeYUIClosure其他几种不错的JavaScript库。 这些为您解决了浏览器之间的差异,并提供了许多实用程序功能,因此您可以专注于手头的问题。

你为什么不使用jQuery库..它的简单..这应该可以解决问题

$(document).ready(function(){
    $("tr.high").remove(); 
})

jQuery .remove()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM