javascript - 2 级子节点的 Javascript 样式更改
问题描述
我有一个像这张照片一样的案例
我知道元素 1 的唯一 id,元素 2 id 不是唯一的,因此需要作为子节点访问,并且元素 2 内的 div 没有任何唯一标识符,因此也必须作为子节点访问
到目前为止,我尝试过这样的事情
`document.querySelector(`tr.${current_id} > td.color > div`).setAttribute('style', 'background-color: rgb(0,0,255);');`
但得到“无法读取 null 的集合属性”,所以它不起作用。知道如何用纯 JS 和最简单的方式执行此操作吗?
Jquery 也是一种选择,但理想情况下希望仅使用 JS 来执行此操作。
解决方案
我真的不知道为什么,但是通过这样做我发现querySelector
停止抱怨并且还找到了正确的子节点 div。如果有人通过定义querySelector
工作的父节点遇到类似的问题
let group = document.getElementById(current_id);
group.querySelector(`td#color > div`).setAttribute('style', 'background-color: rgb(0,0,255);');
参考问题中的图片,group
变量是标记为 1 的元素。
PS。感谢@caramba 纠正我的元素引用格式
推荐阅读
- python - 在单个 tkinter 按钮上绑定 2 个图像
- python - 通过 XMLHTTPRequest 收集 HTML 页面中的 ono 来电状态
- c# - 无法重新创建从 Postman 到 C# 的 REST API 调用
- python-3.x - 如何使用 tf.data.Dataset 对象的 map 方法删除或省略数据?
- python - AttributeError:“浮动”对象没有属性“预测”
- javascript - 如何从JavaScript中的对象数组中创建数组数组而不是分块数组
- amazon-web-services - 将 TF 状态文件从本地迁移到 S3 后端时出错
- angularjs - null 和 undefined 是否被归类为 typescript 中其他类型的子类型?
- ios - AVPlayerViewController 不支持 iPhone 上的画中画
- python-3.x - 关于''django dropbox''静态上传错误的问题“cStringIO”