我已經創建了javascript程序,我已經在body和prompt中創建了div標籤,以便接受來自用戶的文本之後,我創建了div並希望將提示文本添加到div。新的div應該在創建之前顯示,爲此我已經使用了insertBefore()。我試圖在控制檯中獲取值,並在控制檯中獲取值。但是我的程序沒有按照預期工作。javascript:正確使用insertBefore()
代碼:
<!DOCTYPE html>
<html>
<head>
<title>trail</title>
<meta charset="utf-8">
<style type="text/css">
.pink{
background-color: pink;
}
.green{
background-color: #71e887;
}
</style>
<script type="text/javascript">
var movieText = prompt("What movie do you like?");
var newDiv = document.createElement("div");
parent = newDiv.parentNode;
newDiv.className = "green";
var text = document.createTextNode(movieText + " is a good movie");
newDiv.innerHTML = text;
newDiv.appendChild(text);
var beforeMe = document.getElementById("div1");
document.body.insertBefore(newDiv, beforeMe);
</script>
</head>
<body>
<br>
<div class="pink" id = "div1">
I love watching movies <br/>
This is one of my favorite movie:
</div>
</body>
</html>
我的輸出:
[1]
預期輸出[在這裏輸入的形象描述] [1]!]!
[進入image description here] [2]] [2]
刪除'newDiv.innerHTML = text;' –
@JaromandaX但需要使用innerHTML在div中添加文本。 – pari
好吧,不要這樣做...我的意思是'newDiv.appendChild(text);'已經這樣做了,但是我會怎麼知道 –