javascript - 搜索从数据集中设置 ID 的元素
问题描述
我正在尝试根据调用的 onclick 函数使项目可见/不可见,但是我收到“未处理的拒绝(TypeError):无法读取 null 的属性'样式'”
我的代码如下:
<div>
{output.map((group) => (
<div className="sidebar">
<div className="groupbutton" onClick={item_open({group})}>{group}</div>
<div>
{this.state.items.filter(item => item.GroupDesc === group).map((items) => (
<div className="itembutton" style={{display:'none'}} id={group}>{items.TypeDesc}</div>))}
</div>
</div>))}
</div>
有一个功能
function item_open(group) {
document.getElementById(group).style.display = "block";
}
我认为这些应该:
- 为组中的所有项目提供组名的 id
- 该函数应使用 getElementById 调用所有这些项目
- 然后他们应该都得到 display: "block" 属性
谁能明白为什么这可能行不通?
解决方案
这会起作用:onClick={item_open(group)}
因为你已经放了大括号,所以你放里面的任何东西都将被解释为 javascript 代码
推荐阅读
- django - Django:无法配置处理程序“控制台”
- html - CSS:调整父表列列宽以包含子 div,附加列使用自动宽度
- java - 仅显示 id 的空值,在控制台中使用 toString 方法打印数据时,但在 mysql 工作台中存在 id。那么为什么会发生呢?
- python - Matplotlib y-scale 设置 - ValueError:无法将浮点 NaN 转换为整数
- c++ - 使用其范围版本从容器中删除元素的最佳方法
- java - 写入同一个文件,在java中多次执行同一个程序
- json - 将格式不一致的 JSON 字符串转换为对象
- kubernetes - Ansible:kubernetes install using vagrant,错误:“服务器证书验证失败。CAfile:/etc/ssl/certs/ca-certificates.crt”
- r - R中有没有办法在表格中插入条形图?
- sql - 为下面的员工表编写查询,以便输出应该是