简单的javascript appendChild不起作用

时间:2014-06-03 22:08:20

标签: javascript html web

我是网络编程的新手。我试图用JavaScript绘制一个表行,但它不起作用,我不知道为什么。

这是代码

<div id="gameDiv"> </div>
<script type="text/javascript">
    public function drawGame(){ 
        var table = document.createElement('table');
        table.setAttribute('style','float:left');
        var startRow = table.insertRow(0);
        var c = 'A'
        for (j=0; j<8; j++) {
            var text = document.createTextNode(c++);
            var cell = startRow.insertCell(j);
            cell.appendChild(text);
        }
        document.getElementById("gameDiv").appendChild(table);
    }
    $(document).ready(function() {
        drawGame();
    };
</script>

4 个答案:

答案 0 :(得分:5)

问题在于您使用public。 Javascript没有publicprivate,因此将其置于函数声明前会导致错误。如果您打开控制台,则会看到如下错误:

SyntaxError: Unexpected token function

要解决此问题,只需从代码中删除private修饰符即可。

此外,您似乎在代码末尾缺少右括号。相反,你应该使用它:

$(document).ready(function() {
    drawGame();
});

但该代码也可以写得更短:

$(drawGame);

答案 1 :(得分:0)

嗯,您收到错误是因为我认为您的语言可能会混淆,因此无需在javascript中将某个功能声明为公开,它会给您一个错误。

drawGame函数可以是:

    function drawGame(){ 
        var table = document.createElement('table');
        table.setAttribute('style','float:left');
        var startRow = table.insertRow(0);
        var c = 'A'
        for(j=0; j<8; j++){
            var text = document.createTextNode(c++);
            var cell = startRow.insertCell(j);

            cell.appendChild(text);

        }
}

答案 2 :(得分:0)

以下是一种工作变体http://jsbin.com/hisewamu/4/edit,&#34; $&#34;概念是jquery的一部分,你应该包括

答案 3 :(得分:0)

这应该摆脱NaN(非数字)的废话。

<script>
        function drawGame(){ 
        var table = document.createElement('table');
        table.setAttribute('style','float:left');
        var startRow = table.insertRow(0);
        var c = 'A'.charCodeAt()
        for(j=0; j<8; j++){
            var text = document.createTextNode(String.fromCharCode(c++));
            var cell = startRow.insertCell(j);

            cell.appendChild(text);

        }
    document.getElementById("gameDiv").appendChild(table);

    }

    $(document).ready(function() {
    drawGame();

    });
</script>