问题出在你的查询中,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
提交
取消