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;">
&nbsp;
<a href="www.kasdjfkasd.sadsdk.comi" class=pi>xyz</a>
&nbsp;
</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++;
    }
}