gpt4 book ai didi

javascript - 使用javascript删除最后一个html元素

转载 作者:行者123 更新时间:2023-11-28 06:48:24 26 4
gpt4 key购买 nike

假设我有一个这样的网页:

<html>
<head>
<script>
//code that deletes the last element
</script>
</head>
<body>
<h1>nothing important in the body</h1>
</body>
</html>

<!-- and then there is another script element that I want to remove with javascript: -->

<script type="text/javascript" src="example.com"></script>

如何使用 JavaScript 删除最后一个脚本元素?

最佳答案

首先你应该看看浏览器实际上用它做了什么。 HTML 文档不能包含文档根目录之外的元素,甚至不能包含 <head> 之外的元素。和<body> 。比方说src包含您的 HTML 源代码:

new DOMParser().parseFromString(src, "text/html")

返回一个文档,其中脚本已移动到 <body> 的底部.

现在您知道它在解析后的 DOM 中的位置,您可以弄清楚如何删除它,对吧?

document.body.removeChild(document.body.lastElementChild)

但是,由于它位于文档的底部,因此您无法在加载时运行该代码(除非您在该脚本下方添加另一个脚本),因为您要删除的脚本直到解析器超出了 HTML 结束标记。所以你需要等待DOM加载事件。

如果您的目的是在评估脚本之前,则无法将其删除。

但是,如果您想阻止脚本被解析,您可以添加未关闭的注释 <!--在页面的最后(在 </html> 之后)。这将注释掉脚本,除非它带有防御性--> .

关于javascript - 使用javascript删除最后一个html元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33200683/

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