gpt4 book ai didi

javascript - 为什么我的按钮无法删除?

转载 作者:行者123 更新时间:2023-12-02 16:15:39 24 4
gpt4 key购买 nike

document.getElementById("roster").innerHTML += "<button onclick=\"doSomething()\">+</button>\n" +
"<span onClick=\'$(this).remove();" +
"$(this).prev().remove();" +
"oiDelete(\"" + str + "\");" +
"removeCost(\"" + str + "\");" +
"selectedItem(\"" + str + "\");" +
"frDelete(\"" + str + "\")\';>" +
str + "</span><br>";

所以这属于我正在开发的 Javascript 函数。它应该做的是创建可单击的文本区域(跨度),单击时消失,并在可单击文本之前生成一个按钮,单击文本时应该删除该按钮。我可以让文字消失得很好,但我无法让该死的按钮消失。

正在生成的代码是:

<button onclick="doSomething()">+</button>
<span onclick="$(this).remove();
$(this).prev().remove();
oiDelete("Marneus Calgar");
removeCost("Marneus Calgar");
selectedItem("Marneus Calgar");
frDelete("Marneus Calgar")" ;="">Marneus Calgar</span>

为什么它会在起始跨度标记的末尾生成 ="" ?为什么按钮不能正确删除? $(this).prev().remove() 不是正确的选项吗?

最佳答案

如果我们抛开最佳实践,这就是工作代码。

document.getElementById("roster").innerHTML += "<button onclick=\"doSomething()\">+</button>\n" +
"<span onClick=\'$(this).prev().remove();" +
"$(this).remove();" +
"oiDelete(\"" + str + "\");" +
"removeCost(\"" + str + "\");" +
"selectedItem(\"" + str + "\");" +
"frDelete(\"" + str + "\")\'>" +
str + "</span><br>";

您的代码不起作用的原因是您正在动态删除具有 onclick 函数的 span 。这意味着它无法到达 $(this).prev().remove() 位。

我希望这是有道理的。

如果您想更进一步,您应该将 $(this).remove(); 放在 frDelete() 函数后面。否则,您调用的这 4 个函数将永远不会被调用。

关于javascript - 为什么我的按钮无法删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29639771/

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