javascript - Angular 8 - 如何按类名获取最近的父级?
问题描述
这就是我想要实现的(将此视为示例场景) -
- 元素 1
- 元素 2
- 元素 3
- 元素 4
元素 4 是我的角度分量。我想根据元素 1 和元素 2 的高度来设置它的高度。
元素 1 和元素 2 可以位于元素层次结构中的任何位置,即它们不一定是直接父级或兄弟级。我希望能够通过类名获取元素 1 和元素 2 的引用并获得它们的高度。
按类名或任何其他选择器以角度查询父元素的最佳方法是什么?
解决方案
请注意,这并不是真正的最佳实践类型的方法。迭代发生 100 次,希望根据类名寻找父元素。
/**
* findParentElementByClass, returns an parent element based on a
* class name. This parent class name is chained off the required
* child component.
*
* @param {String} parentClass // parent class
* @param {String} componentClass // Element 4 class in your case
* @return {Node} componentParent
*/
function findParentElementByClass(parentClass, componentClass) {
let componentParent = document.querySelector(`.${componentClass}`).parentNode;
for (let i = 0; i < 100; i++) {
if (componentParent.classList.contains(`.${parentClass}`)) {
break;
} else {
componentParent = componentParent.parentNode;
}
}
return componentParent;
}
推荐阅读
- sql - 从 bigint 数组转换值
- javascript - 我无法更改导航栏中文本的颜色
- c++ - 使用类型别名声明可变参数函数
- azure - 如何限制对 Azure Function 的调用,N 次从给定的机器/IP
- apache-flink - 如何从数组列中获取数组元素
- django - 使用 django 发送文件
- python - 如何使用 OpenCV 增加我的面罩检测项目的 FPS?
- django - Heroku 运行 python manage.py makemigartions --app=
正在抛出 ImproperlyConfigured:设置 DATABASE_NAME 环境变量 - javascript - React App 加载 HomePage 而不是 Desired Page
- ios - 为 C 库创建包装器以在 iOS 项目中使用