如何解决以下给出的JS错误?

时间:2015-11-11 19:13:29

标签: javascript html css web

这是我想要完成的事情:

创建一个名为theRightSide的新变量。这指向右侧div,例如

var theRightSide =
    document.getElementById("rightSide");

创建所有图像并将其添加到leftSide div后,使用cloneNode(true)复制leftSide div,例如leftSideImages = theLeftSide.cloneNode(true); 然后,删除leftSideImages的最后一个孩子 然后,将leftSideImages添加到rightSide div

这是我的代码:

    <html>
    <head>
    <style type="text/css">
        img {
            position:absolute;
        }
        div {
            position:absolute;
            width:500px; 
            height:500px;
        }

        #rightSide { left: 500px; 
            border-left: 1px solid black; 
        }


    </style>

    </head>
    <body onload="generateFaces()">
        <h1>Matching Game</h1>
        <div id="leftSide"></div>
        <div id="rightSide"></div>
        <script>
            var numberOfFaces=5;
            var theLeftSide = document.getElementById("leftSide");
            function generateFaces(){
                for (var i = 0; i < numberOfFaces; i++) 
                {
                    var img = document.createElement("IMG");
                    img.src="smile.png";
                    img.style.top=Math.floor(Math.random()*401);
                    img.style.height=100;
                    img.style.left=Math.floor(Math.random()*401);
                    theLeftSide.appendChild(img);

                };
            }

            leftSideImages = theLeftSide.cloneNode(true);
            var theRightSide = document.getElementById("rightSide");
            leftSideImages.removeChild(leftSideImages.lastChild);
            theRightSide.appendChild(leftSideImages);
        </script>
    </body>
</html>

错误:     未捕获的TypeError:无法在'Node'上执行'removeChild':参数1不是'Node'类型。

请帮我解决这两个错误。

1 个答案:

答案 0 :(得分:1)

似乎暗示

var theLeftSide = document.getElementById("leftSide");

返回null。你是否存在该元素并且具有id

小提琴:http://jsfiddle.net/yuhc6rdm/