Как удалить и скрыть 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 секунд, но почему-то не получается. Есть идеи, почему? Я загружаю скрипт после загрузки страницы, так что это не проблема.


person chromedude    schedule 17.09.2011    source источник
comment
почему вы не скрываете проверку?? так что-то вроде: document.getElementById("content-container").verifying.style.display = "none";   -  person ahoura    schedule 18.09.2011


Ответы (3)


Вам нужно передать ссылку на элемент removeChild, а не строку:

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

Вы также можете просто скрыть это:

document.getElementById('verifying').style.display = "none";
person Digital Plane    schedule 17.09.2011

ваш removeChild должен получить элемент, а не строку

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

setTimeout(function(){
    body.removeChild(document.getElementById('verifying'));
    signup.style.display = "block";
}, 5000);
person galchen    schedule 17.09.2011

для удаления вы можете использовать (как указано) 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";
person Joseph Marikle    schedule 17.09.2011