我是JS和HTML的新手。我想在页面加载后立即从页面中删除一个元素。这是我的简单HTML代码:
<html>
<head>
</head>
<body>
<div id="trapParent"><a id="trap" href='/trap/removeByJS'> Javascript removal </a></div>
<script>
function timeout() {
setTimeout(function () {
timeout();
}, 1000);
}
timeout();
var parent = document.getElementById('trapParent');
var child = document.getElementById('trap');
while (child & parent){
parent.removeChild(child);
parent = undefined;
child = undefined;
}
</script>
</body>
</html>
但是当我打开页面时,我仍然可以得到页面上链接的引用。当我得到document.getElementById('trap');
的值时,它返回链接,这意味着该链接仍在DOM中,并且我可以看到该链接仍然存在。我在这里想念东西吗?
我添加了超时功能,以确保脚本将在页面加载后运行。
答案 0 :(得分:0)
由于上述答案,以下对我有用:
<html>
<head>
</head>
<body onload = "removelink();">
<div id="trapParent"><a id="trap" href='/trap/removeByJS'> disables Javascript </a></div>
Hey!
<script>
function removelink( ){
var parent = document.getElementById('trapParent');
var child = document.getElementById('trap');
while (child && parent){
parent.removeChild(child);
parent = undefined;
child = undefined;
}
}
</script>
</body>
</html>