gpt4 book ai didi

javascript - 选择一个元素的父元素的父元素

转载 作者:行者123 更新时间:2023-12-04 07:14:24 25 4
gpt4 key购买 nike

我想在 Javascript 中选择一个 child 的父级的父级而不将相同的方法链接两次:child.parentElement.parentElement.Is there a method for this?我要选择的元素是 parent1 .
代码只是为了说明问题,但我只想知道是否有一种方法可以替代 .parentElement.parentElement。我需要像这样选择它,因为我的代码是动态地引入页面的。
这是说明问题的代码:

const body = document.querySelector('body');

body.querySelector('button').addEventListener('click', function() {
this.parentElement.parentElement.classList.toggle('black');
});
.parent1 {
background: yellow;
padding: 20px;
}

.parent2 {
background: blue;
padding: 20px;
}

.black {
background: black;
}
<div class="parent1">
<div class="parent2">
<button>Click</button>
</div>
</div>

最佳答案

您可以使用 Element.closest() 找到与选择器匹配的第一个父元素,在我们的例子中是 .parent1 :

const body = document.querySelector('body');

body.querySelector('button').addEventListener('click', function() {
this.closest('.parent1').classList.toggle('black');
});
.parent1 {
background: yellow;
padding: 20px;
}

.parent2 {
background: blue;
padding: 20px;
}

.black {
background: black;
}
<div class="parent1">
<div class="parent2">
<button>Click</button>
</div>
</div>

关于javascript - 选择一个元素的父元素的父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68873996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com