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

时间:2012-03-19 09:00:33

标签: javascript

这是我要更改的html代码。

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

现在我想删除以下标记及其类和内部内容。 有没有办法使用替换命令删除它,如“替换(/ pattern /,'')”。

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

4 个答案:

答案 0 :(得分:1)

如果您的表格有ID,请说table_id您可以通过 pure 来完成,

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;
    }
}

答案 1 :(得分:0)

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

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

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

http://www.jquery.com

答案 2 :(得分:0)

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

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

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

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

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

参考文献:


如果你要在浏览器上用JavaScript做很多工作,我建议使用一个好的JavaScript库,如jQueryPrototypeYUI,{{3 },或Closure。这些平滑的浏览器差异为您提供了很多的实用功能,因此您可以专注于手头的问题。

答案 3 :(得分:0)

你为什么不使用jquery库..它的简单..这应该做的伎俩

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

Jquery .remove()