gpt4 book ai didi

JavaScript .closest 返回 null

转载 作者:行者123 更新时间:2023-11-28 17:00:36 27 4
gpt4 key购买 nike

我有以下简单布局,无法更改。我正在尝试使用 JavaScript 来获取最接近按下的按钮的 extra 元素

在另一个问题的帮助下,我能够使 preventDefault 部分正常工作,但现在我正在努力解决 closest

<div class="buttons">
<div class="button">
<button class="myButton">Click Me</button>
<div class="extra">64736</div>
</div>
<div class="button">
<button class="myButton">Click Me</button>
<div class="extra">5446</div>
</div>
<div class="button">
<button class="myButton">Click Me</button>
<div class="extra">78667</div>
</div>
</div>

document.querySelector('.myButton').addEventListener('click', myFunction);

function myFunction() {

event.preventDefault();

close = this.closest(".extra");

console.log(close)

}

但是当我按下按钮时,这给了我null,我哪里出错了?

最佳答案

可以使用closestquerySelector的组合:

document.querySelectorAll('.myButton').forEach(function(button) {
button.addEventListener('click', myFunction);
});

function myFunction(evt) {
evt.preventDefault();

var closest = evt.currentTarget.closest(".button").querySelector('.extra');

console.log(closest)

}
<div class="buttons">
<div class="button">
<button class="myButton">Click Me</button>
<div class="extra">64736</div>
</div>
<div class="button">
<button class="myButton">Click Me</button>
<div class="extra">5446</div>
</div>
<div class="button">
<button class="myButton">Click Me</button>
<div class="extra">78667</div>
</div>
</div>

更多信息:

关于JavaScript .closest 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57615247/

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