我试着用JS和jQuery做了一个小游戏(注意:我是这两种语言的初学者),我做了一个函数来删除你的保存。我用一些短信来确认他们的行动。当我去删除它的时候,它就不会了。这是我的HTML
function wipeSave() {
p.innerHTML = "Are you sure you want to wipe(delete) your save? <button onclick='deleteSave()'>Yes</button> <button onclick='leave()'>No</button>";
$('.settings').append(p);
}
function leave() {
$('.settings').remove(p);
}
function deleteSave() {
localStorage.setItem('coins', 0);
localStorage.setItem('cps', 0);
localStorage.setItem('cpc', 1);
localStorage.setItem('cpcPrice', 25);
localStorage.setItem('cpsPrice', 50);
$('.settings').remove(p);
load();
//Everything was declared in another JS file that is loaded before this one.
}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="hide settings">
<button onclick="wipeSave()">Wipe your save (think about it twice, you won't be able to get it back)
</button>
</div>
我尝试过其他的解决方案,但都没有奏效。
发布于 2020-05-14 07:11:30
变量p仅绑定到wipeSave函数的作用域!因此,当您想从您的<p>元素中删除.settings标记时,您需要如下所示选择它:
$('.settings').find('p').remove(); // find the <p> tag in your settings container and remove it发布于 2020-05-14 07:17:57
您应该在<p id="test"></p>之外创建一个p标记。
并使用$('.settings p').remove();删除p标记。
var p = document.getElementById("test");
function wipeSave() {
p.innerHTML = "Are you sure you want to wipe(delete) your save? <button onclick='deleteSave()'>Yes</button> <button onclick='leave()'>No</button>";
$('.settings').append(p);
}
function leave() {
$('.settings').remove(p);
}
function deleteSave() {
localStorage.setItem('coins', 0);
localStorage.setItem('cps', 0);
localStorage.setItem('cpc', 1);
localStorage.setItem('cpcPrice', 25);
localStorage.setItem('cpsPrice', 50);
$('.settings p').remove();
load();
//Everything was declared in another JS file that is loaded before this one.
}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id="test"></p>
<div class="hide settings">
<button onclick="wipeSave()">Wipe your save (think about it twice, you won't be able to get it back)
</button>
</div>
发布于 2020-05-14 07:12:20
试试这个..。
取代
$('.settings').remove(p);与
$('.settings').remove();https://stackoverflow.com/questions/61791274
复制相似问题