这是我要更改的html代码。
<table>
[some table row]
<tr class="high">
some text
</tr>
[many more table row]
</table>
现在我想删除以下标记及其类和内部内容。 有没有办法使用替换命令删除它,如“替换(/ pattern /,'')”。
请写一些关于你如何编写模式的细节。
答案 0 :(得分:1)
如果您的表格有ID,请说table_id
您可以通过 pure javascript 来完成,
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();
答案 2 :(得分:0)
(我假设您在浏览器中运行JavaScript,因为您正在处理HTML。)
与其尝试使用正则表达式解析HTML(这通常是一个坏主意),您可能最好还是实际构建DOM树,然后遍历它以获取所需的内容。
例如,您可以将该表放在断开连接的div中:
var div = document.createElement('div');
div.innerHTML = your_html_string;
...然后使用DOM方法(可能还有innerHTML
)和/或库来获取所需的内容。
参考文献:
如果你要在浏览器上用JavaScript做很多工作,我建议使用一个好的JavaScript库,如jQuery,Prototype,YUI,{{3 },或Closure。这些平滑的浏览器差异为您提供了很多的实用功能,因此您可以专注于手头的问题。
答案 3 :(得分:0)
你为什么不使用jquery库..它的简单..这应该做的伎俩
$(document).ready(function(){
$("tr.high").remove();
})