<div class='wrapper one Stone' id='main'>
<h1>Stone</h1>
<p>Price: $130.00 per Yard</p>
<?php if($_SESSION[id]) {?>
<button class="Stonebutton"> Delete Stone</button>
<script>; $(".Stonebutton").click(function(){$(".Stone").remove();}); </script>
<?php } ?>
</div>
当我登录时,我可以看到&#34;删除石头&#34;按钮,当我点击它,它消失但当我重新加载页面它回来了。有帮助吗?非常感谢!我还使用以下单独的php文件将其加载到html页面中:
fwrite($PlantFile, "\n\n<div class='wrapper one $trimmedname' id='main'>\n<h1>$name</h1>\n<p>Price: $price</p>\n <?php if(\$_SESSION[id]) {?> \n<button class=\"$trimmedbname\"> Delete $name</button>\n<script> \$(\".$trimmedbname\").click(function(){\$(\".$trimmedname\").remove();}); </script> \n <?php } ?> \n</div>\n");
fclose($PlantFile);
如果有人有更好的解决方法,我会全力以赴。谢谢你的帮助!
答案 0 :(得分:3)
为了正确理解这一点,您需要了解网页的生命周期。
200
)进行响应。大多数时候(我们将在这里考虑的情况),响应是HTML。排除所有可能出错的内容,服务器将始终为同一请求返回相同的结果。但是,有时候,这还不够,以及我们使用JavaScript的地方。使用JavaScript,我们可以对返回的HTML进行更改,而无需告诉服务器:创建一个包含此mod的新页面。
.remove()
是一种JavaScript方法。它在返回后更改HTML。它会删除作为初始响应一部分的HTML元素,而不会返回到服务器并在请求期间删除首先生成该元素的代码。
这意味着当您刷新页面时页面将再次包含该元素,因为您正在执行相同的请求(您将返回到步骤1)。
如果网络按照您的预期方式运行,任何人都可以打开控制台并使用一行简单的代码删除整个网站:
document.body.remove();
幸运的是,这就是网络的运作方式。