藍山帝景
2023-09-28 17:33:24
問題出在你的查詢中,tbody你寫的#body1所以它會查詢帶有 ID 的元素,body1而在你的 html 代碼中,tbody是類body1而不是 idconst rows = document.querySelectorAll("#body1 > tr"); // <--- will select element with id="body1"你的 HTML 代碼: ... </thead> <tbody class="body1"> <!--body is using attribute class --> <tr class="vypis-riadok"> ...你應該做的是使用類查詢選擇器,更改#為.const rows = document.querySelectorAll(".body1 > tr"); // <--- will select element with class="body1"之后你的 javascript 代碼應該沒問題,現在添加 css 樣式show和hidden類.hidden{ display: none;
2 回答

千巷貓影
TA貢獻1829條經驗 獲得超7個贊
您希望在映射數據之前先過濾數據,以便在分支名稱匹配的位置過濾 allStaff。我在下面提供了執行此操作的代碼。
allStaff.filter((staff) => staff.branch.name === contributor.branch.name)
.map((filteredStaff) => (
<option key={staff._id} value={staff._id}>
{staff.name}
</option>
));

FFIVE
TA貢獻1797條經驗 獲得超6個贊
問題是您的代碼試圖映射布爾值... .map()是數組的內置屬性,而且您的代碼沒有解釋您要迭代的內容,因此第一步弄清楚您要首先迭代哪個數組,之后按照這個例子,
對于這個例子,我假設你想要迭代allStaff.branch
{allStaff.branch.map(
(branch,i) => {
if(branch?.name === contributor.branch[i].name)
return (<option key={branch._id} value={branch._id}>
{branch.firstName}
</option>)
})}
添加回答
舉報
0/150
提交
取消