0

我创建了一个带有问题的提示框。回答后,您会在div使用 JavaScript 创建的名为id2. 现在我试图把我id2的前面id1是父节点。所以它会在第一个 div 上方显示答案id1。有人可以向我解释为什么它不起作用吗?

<!DOCTYPE html>
<html>
<head>
<title>lab7</title>
<meta charset="utf-8" lang="en" name="my page" />
<style>
  .class1 {
      width: 100%;
      height: 60px;
      background-color: #BCC6CC;
         }  
</style>
<script type="text/javascript">
   function loadQ() {
     var firstdiv = document.createElement("div");
         firstdiv.setAttribute("class", "class1");
         firstdiv.setAttribute("id", "id1");
     var jw = prompt("Which movie is number 1 Box Office 2015?","Jurassic World");
     document.getElementById("id2").innerHTML ="" + jw + "   Made $652,198,011 Total Gross Sales";
     document.getElementById("id2").style.backgroundColor = "#786D5F";
     var id1 = document.getElementByTagName("div")[0];
     var parent1 = id1.parentNode();
     var beforeME = document.getElementByTagName("id2");
     parent1.insertBefore(id1, beforeME);

    };
</script>
</head>
<body onload="loadQ()">
   <div id="id1" class="class1">
     <br>
        <b>Top 2 Box Office Movie for 2015</b>
   </div>
   <div class="class2" id="id2">
   </div>
</body>
</html>
4

2 回答 2

0

我重写了我的代码并使其更加清晰。所以,每个 div id 和 class 都被定义了。

<script type="text/javascript">
        function loadQ() {
            var firstdiv = document.createElement("div");
                firstdiv.setAttribute("class", "class1");
                firstdiv.setAttribute("id", "id1");
                firstdiv.style.backgroundColor = "#BCC6CC;";
    document.getElementById('id1').innerHTML ="<h2 style='padding:20px;'>Top Box Office Movie 2015</h2>","<br><br>";

            var seconddiv = document.createElement("div");
                seconddiv.setAttribute("class", "class2");
                seconddiv.setAttribute("id", "id2");
                seconddiv.style.backgroundColor = "#786D5F";
                    var reper = document.getElementById('id1');
                    var parinte = reper.parentNode;
                        parinte.insertBefore(seconddiv, reper);
</script>
于 2015-12-11T09:13:53.090 回答
0

您的代码中至少有两个问题:

  • document.getElementsByTagName需要一个s(它返回多个元素s)。

  • 要通过 id 获取对象,您需要使用document.getElementById.

于 2015-12-10T08:41:03.863 回答