簡體   English   中英

如何根據 getElementByClassName 過濾數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM