[英]how to filter an array based on getElementByClassName
let tableData = Array.from(
domUpperTable.getElementsByClassName('mat-row')
);
// tableData如下
[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]
我正在嘗試在 tableData 上執行 forEach,但我想刪除包含類名作為 example-detail-row 的第 1 行和第 3 行。
你能建議我怎么做嗎?
您可以在創建原始tableData
時使用 CSS 選擇器來完成。
let tableData = domUpperTable.querySelectorAll(".mat-row:not(.example-detail-row)");
如果要保留完整的數組,可以在filter()
調用中使用.classList.includes()
。
filteredTableData = tableData.filter(el => !el.classList.includes("example-detail-row"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.