javascript - 按唯一子元素查找父元素,但单击另一个子元素
问题描述
试图找到正确的 xpath 选择器。元素只有href
唯一。是否可以通过href="#">iphone X
文本和父类查找元素class="card h-100"
。但是单击<button class="btn btn-info">
哪个是父类的另一个子类。
<div class="card h-100">
<div class="card-body">
<h4 class="card-title">
<a href="#">iphone X</a>
</h4>
</div>
<div class="card-footer">
<button class="btn btn-info"></button>
</div>
</div>
解决方案
尝试使用以下代码querySelectorAll()
(function() {
var a = document.querySelectorAll('a[href="#"]');
var result = [];
a.forEach(function(el) {
if (el.innerHTML == 'iphone X' && el.parentElement.parentElement.parentElement.className.includes('card h-100')) {
result.push(el);
}
});
console.log(result);
})();
<div class="card h-100">
<div class="card-body">
<h4 class="card-title">
<a href="#">iphone X</a>
</h4>
</div>
<div class="card-footer">
<button class="btn btn-info"></button>
</div>
</div>
<div class="card h-100">
<div class="card-body">
<h4 class="card-title">
<a href="#">iphone XS</a>
</h4>
</div>
<div class="card-footer">
<button class="btn btn-info"></button>
</div>
</div>
<div class="card h-200">
<div class="card-body">
<h4 class="card-title">
<a href="#">iphone X</a>
</h4>
</div>
<div class="card-footer">
<button class="btn btn-info"></button>
</div>
</div>
推荐阅读
- javascript - 如何编辑 Material UI Card 的内容
- javascript - 在不相关的组件之间反应上下文
- dom - 是否有使用当前仅在页面加载时读取源代码(+highlights 关键字)的 Chrome 扩展程序突出显示后续 DOM 更改的修复程序?
- python - 如何将 pandas.core.frame.DataFrame 转换为列表?
- docker-compose - 与 docker bind 和 type 参数混淆
- java - 从 S3 存储桶中获取所有对象的最佳方法是什么
- python - 我已经尝试了所有方法,但我的 pack_forget 在 tkinter 中不起作用?
- c# - 在 Unity 中使用 HTTP Put json
- mysql - 在 SQL 查询中使用 count 时未处理 MySqlException
- r - 循环列表以在 R 中分配名称不起作用