Javascript 如何从表中删除特定行?
我有一个包含Javascript 如何从表中删除特定行?,javascript,Javascript,我有一个包含n行数的表。n的值每分钟更改/更新一次。 每行的第一个要么包含一些文本,要么为空。 我想删除/删除除第一行和第一个单元格中包含文本的行以外的所有行。 那么,我怎样才能做到这一点呢? 此表元素存储在变量parentTable中 我对javascript和编程有点陌生。任何帮助都将不胜感激。谢谢 我只在第二行测试了它,但是没有发生任何事情,即使文本在单元格中不是xyz if(parentNode.childNodes[1].innerText !== "xyz") parentTable
n
行数的表。n
的值每分钟更改/更新一次。
每行的第一个
要么包含一些文本,要么为空。
我想删除/删除除第一行和第一个单元格中包含文本的行以外的所有行。
那么,我怎样才能做到这一点呢?
此表
元素存储在变量parentTable
中
我对javascript和编程有点陌生。任何帮助都将不胜感激。谢谢
我只在第二行测试了它,但是没有发生任何事情,即使文本在单元格中不是xyz
if(parentNode.childNodes[1].innerText !== "xyz")
parentTable.deleteRow[1];
我该如何在每一行循环并执行此操作
编辑:每行第一个单元格的HTML
<td class=wbwhite align=center width=40 style="border-top: none; border-left:none; border-right:none;">
<a href="www.kasdjfkasd.sadsdk.comi" class=pi>xyz</a>
</td>
使用此代码(纯JavaScript):
(假设表具有id=tableId
)
var all=document.querySelectorAll('tableId>tbody>tr');
//i=1而不是i=0以保留第一行。
对于(变量i=1;i
试试这个:
var table = parentTable;
var rowCount = table.rows.length;
for ( var i = 1; i < rowCount; i++ )
{
var row = table.rows[i];
var val= row.cells[0].childNodes[0].innerHTML.toString();
if ( 'xyz' != val )
{
table.deleteRow( i );
rowCount--;
i--;
}
}
var-table=parentTable;
var rowCount=table.rows.length;
对于(变量i=1;i
您可以试试这个
var allRows = parentTable.getElementsByTagName('TR');
for(var i=1; i<allRows.length;)
{
var tr = allRows[i];
var firstTd = tr.getElementsByTagName('TD')[0];
if(firstTd.innerHTML !== 'xyz')
{
tr.parentNode.removeChild(tr);
}else{
i++;
}
}
var allRows=parentTable.getElementsByTagName('TR');
对于(var i=1;i您的代码在哪里?您尝试了什么?如果“xyz”被包装在标记中会怎样?那么我必须更改什么?请参考html.xyz的问题…….您看到html了吗?我可以使用row.cells[0].childNodes[0].innerHTML吗?我尝试了,但所有行都被删除了:(它不是应该是innerText吗?仍然不起作用。所有行都将被删除。出现错误“…没有方法“text”,我尝试了row.cells[0]。childNodes[0]。innerHTML并返回xyz!!可能是您必须使用row.cells[0]。childNodes[0]。innerHTML.toString()
var allRows = parentTable.getElementsByTagName('TR');
for(var i=1; i<allRows.length;)
{
var tr = allRows[i];
var firstTd = tr.getElementsByTagName('TD')[0];
if(firstTd.innerHTML !== 'xyz')
{
tr.parentNode.removeChild(tr);
}else{
i++;
}
}