Javascript 如何基于getElementByClassName筛选数组

Javascript 如何基于getElementByClassName筛选数组,javascript,Javascript,//表数据如下所示 let tableData = Array.from( domUpperTable.getElementsByClassName('mat-row') ); 我试图对tableData执行forEach,但我想删除包含classname作为示例详细信息行的行1和3 你能告诉我怎么做吗?你可以在创建原始的表格数据时使用CSS选择器来完成 [tr.mat-row.cdk-row.ng-tns-c398-0.ng-star-inserted, tr.mat-

//表数据如下所示

let tableData = Array.from(
      domUpperTable.getElementsByClassName('mat-row')
    );
我试图对tableData执行forEach,但我想删除包含classname作为示例详细信息行的行1和3


你能告诉我怎么做吗?

你可以在创建原始的
表格数据时使用CSS选择器来完成

[tr.mat-row.cdk-row.ng-tns-c398-0.ng-star-inserted, 
tr.mat-row.cdk-row.example-detail-row.ng-tns-c398-0.ng-star-inserted, 
tr.mat-row.cdk-row.ng-tns-c398-0.ng-star-inserted, 
tr.mat-row.cdk-row.example-detail-row.ng-tns-c398-0.ng-star-inserted]
如果要保留完整的数组,可以在
filter()
调用中使用
.classList.includes()

let tableData = domUpperTable.querySelectorAll(".mat-row:not(.example-detail-row)");

我会将您的查询更改为查找类名“example detail row”,然后迭代结果并使用
element.parentNode.removeChild(element)
。这是否回答了您的问题?
filteredTableData = tableData.filter(el => !el.classList.includes("example-detail-row"));