1
<head>
<title>untitled</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 0.21" />
<script type="text/javascript">
    var newdiv = document.createElement('div');
    var divIdName = aaa;
    newdiv.setAttribute('id',divIdName);
    newdiv.innerHTML ='adadsdsfd';
    document.body.appendChild(newdiv);
</script>
</head>

<body>
    <div id="aa">
        ddgdf
    </div>
</body>

</html>

我正在尝试通过 javascript 附加一个简单的 html 元素,但它不起作用,有人可以指出什么是错误的。

4

2 回答 2

2

您的id字符串未正确引用 -

var divIdName = "aaa";

JavaScript 将aaa其视为变量名。

此外,您应该将您的移动script到文档的末尾。请参阅@pawel 的评论。

最终代码 -

<html>
<head>
    <title>untitled</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <meta name="generator" content="Geany 0.21" />
</head>

<body>
    <div id="aa">
        ddgdf
    </div>
    <script type="text/javascript">
        var newdiv = document.createElement('div'),
            divIdName = 'aaa';

        newdiv.setAttribute('id', divIdName);
        newdiv.innerHTML ='adadsdsfd';
        document.body.appendChild(newdiv);
    </script>
</body>
</html>
于 2013-09-09T07:07:30.883 回答
2

改变:

var divIdName = aaa;

var divIdName = 'aaa';

因为aaa看起来不像变量,它应该是字符串,并在body关闭之前添加你的脚本,比如

<body>
<script type="text/javascript">
    var newdiv = document.createElement('div');
    var divIdName = 'aaa';
    newdiv.setAttribute('id',divIdName);
    newdiv.innerHTML ='adadsdsfd';
    document.body.appendChild(newdiv);
</script>
</body>

因为在脚本执行时document.body放置在里面的脚本不可用head

于 2013-09-09T07:07:37.273 回答