gpt4 book ai didi

javascript - 如何让删除按钮在这段代码上起作用

转载 作者:行者123 更新时间:2023-12-01 01:10:42 25 4
gpt4 key购买 nike

这是一个测试练习。

我需要让删除按钮正常工作。我不明白为什么这条线

document.getElementsByClassName("remove")[0].click();

有没有

这是代码

function setup() {
// Write your code here.
}

// Example case.
document.body.innerHTML = `
<div class="image">
<img src="someimage.jpg" alt="First">
<button class="remove">X</button>
</div>
<div class="image">
<img src="someimage.jpg" alt="Second">
<button class="remove">X</button>
</div>`;

setup();

document.getElementsByClassName("remove")[0].click();
console.log(document.body.innerHTML);

编辑:预期的输出是删除按钮将删除父 div (class="image")

最佳答案

它不起作用,因为“删除”按钮没有为其定义的 click 事件的回调函数。

此外,不应使用 document.getElementsByClassName("remove")[0],因为它会导致创建事件节点列表,但仅在第一个节点时丢弃该节点列表其中的项目。相反,应该使用 document.querySelector(".remove")。看这个other post of mine有关详细信息。

因此,如果我们添加一个 click 事件处理程序并清理代码,它将起作用:

function setup() {
// Write your code here.

// This will set up a callback function for when the remove button gets clicked:
theRemoveButton.addEventListener("click", function(){
console.log("You clicked the remove button!");
this.closest(".image").remove();
});
}

// Example case.
document.body.innerHTML = `
<div class="image">
<img src="someimage.jpg" alt="First">
<button class="remove">X</button>
</div>
<div class="image">
<img src="someimage.jpg" alt="Second">
<button class="remove">X</button>
</div>`;

var theRemoveButton = document.querySelector(".remove");

setup();

theRemoveButton.click(); // Forces the click event to fire on the button
console.log(document.body.innerHTML);

关于javascript - 如何让删除按钮在这段代码上起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55164999/

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