2011-09-17 61 views
3

我有這樣的HTML:如何在純Javascript中刪除和隱藏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); 

我試圖刪除<div id="verifying">並顯示<div id="content-container">後5秒,但由於某種原因它不工作。任何想法爲什麼?我在加載頁面後加載腳本,這不是問題。

+0

爲什麼不隱藏驗證?所以像這樣:'document.getElementById(「content-container」)。verifying.style.display =「none」;' – ahoura

回答

7

您需要的元素的引用傳遞給removeChild,而不是一個字符串:

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

你也可以只隱藏:

document.getElementById('verifying').style.display = "none"; 
2

你removeChild之需要獲得一個元素,而不是字符串

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

setTimeout(function(){ 
    body.removeChild(document.getElementById('verifying')); 
    signup.style.display = "block"; 
}, 5000); 
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";