javascript - 多次使用 parentElement
问题描述
我正在编辑一个在像excel(下拉)这样的表格上创建过滤器的插件,问题是当我在一个使用它里面的表格的表格上使用它时,实际上该插件也会采用子表。
因此,我决定从由所有行组成的初始数组中排除那些具有父级且表没有 id 的元素。
所以我forEach
排列,看看是否有id
:
this.tds.forEach((el) =>{
console.log(el.parentElement.parentElement.parentElement.id);
});
我想知道这样使用parentElement
三遍是正确的还是有其他方法
解决方案
完全没问题,只要您确定结构始终相同。
但是让我们假设你不知道结构是否总是这样,但你知道class
你正在寻找的父级(或任何其他 CSS 查询),那么你可以使用该Element.closest()
方法查询你的方式.
因此,假设您想找到最近的具有 id 值的表。
this.tds.forEach((el) => {
const parent = el.closest('table:not([id=""])');
if (parent !== null) {
console.log(parent.id);
}
});
这将从el
as 起点沿着 DOM 树向上走,做一些类似的事情,直到它到达一个在属性parentElement.parentElement.parentElement...
中具有值的元素。id
推荐阅读
- java - springdoc-openapi-maven-plugin 配置未应用
- vue.js - 如何强制 Vue-Leaflet 只显示多边形
- python-3.x - 将 numpy 与 PyPI mkl 链接
- android - 无法在 firebase 实时数据库中获取图像 url
- javascript - 在不增加包装器高度的情况下更改 div 高度
- python - 如何从分配给 KivyMD Python 中的 MDLists 的 TextFields 获取数据
- arrays - 我可以扩展 sc_signal 数组的边界吗?
- flutter - How to increase the display speed of flutter page
- jquery - 实体化表单不适用于动态绑定
- c# - 只允许向上滑动