3

我有这个 HTML:

<body>
    <div id="content-container" style="display:none">
         <div>John</div>
    </div>
    <div id="verifying">
         <div id="message">Verified</div>
    </div>
</body>

而这个Javascript:

var body = document.body;
var signup = document.getElementById("content-container");

setTimeout(function(){
    body.removeChild('verifying');
    signup.style.display = "block";
}, 5000);

我试图在 5 秒后删除<div id="verifying">并显示<div id="content-container">,但由于某种原因它不起作用。知道为什么吗?我在页面加载后加载脚本,所以这不是问题。

4

3 回答 3

9

您需要将元素引用传递给removeChild,而不是字符串:

body.removeChild(document.getElementById('verifying'));

你也可以隐藏它:

document.getElementById('verifying').style.display = "none";
于 2011-09-17T23:54:40.207 回答
2

您的 removeChild 需要获取一个元素,而不是一个字符串

var body = document.body;
var signup = document.getElementById("content-container");

setTimeout(function(){
    body.removeChild(document.getElementById('verifying'));
    signup.style.display = "block";
}, 5000);
于 2011-09-17T23:55:51.670 回答
1

要删除,您可以使用(如前所述)removeChild:

var x = document.getElementById('elementid');
x.parentNode.removeChild(x);

并隐藏一个元素:

var x = document.getElementById('elementid');
x.style.display="none";

编辑:

哦,如果你想隐藏它但又不想“失控”,使用这个:

var x = document.getElementById('elementid');
x.style.visibility="hidden";
于 2011-09-17T23:57:36.010 回答