3

我正在尝试制作一个网页,其中一些元素是动态创建的。我写了以下内容:

<!DOCTYPE html>
<html>
    <head>
        <title>test</title>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
    </head>
    <body>
        <p>Here's some example text</p>
        <script type="text/javascript">
        var jselem = document.createElement ("div");
        jselem.innerHTML = '<p>and here\'s some more</p>';
        </script>
    </body>
</html>

但是,JS部分似乎没有做任何事情,and here's some more没有打印文本。

谁能阐明为什么它不起作用?任何帮助表示赞赏。

(请不要建议使用document.write()或类似的。)

4

2 回答 2

6

使用(小提琴document.body.appendChild()

<script type="text/javascript">
    var jselem = document.createElement("div");
    jselem.innerHTML = '<p>and here\'s some more</p>';
    document.body.appendChild(jselem);
</script>
于 2013-05-28T17:28:26.343 回答
3

您创建了元素,但尚未将其插入到文档中。这不会自动发生——除非你这样做,它只是一个漂浮在内存中的 div。

请参阅https://developer.mozilla.org/en-US/docs/Web/API/document.createElement

于 2013-05-28T17:29:02.153 回答