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 に答える