将javascript写为document.getElementById函数的innerHTML

时间:2013-05-20 19:47:11

标签: javascript html innerhtml

我不知道很多javascript,但有一件事我已经意识到这样做

function example()
{
document.getElementById("example").innerHTML="<script>document.write(example)</script>"
}

不起作用!我理解这一点,但有另一种做同样事情的方法吗?

2 个答案:

答案 0 :(得分:2)

这种方法对我有用:

<body>
    <div id="main">
    </div>

    <script>
    // create a script element
    var script = document.createElement('script');
    // fill its inner html with js code
    script.innerHTML = 'alert("Javascript");'
    // add it inside your target div and then profit!
    document.getElementById('main').appendChild(script);
    </script>
</body>

编辑: 我在这里找到了有关您的问题的更多信息,我建议您阅读问题,它有很多有用的答案,这也解释了为什么您的第一种方法不起作用:Can scripts be inserted with innerHTML?

在页面加载后使用此代码在div内部写入数据的简单方法可以这样做:

<html>
<head>
    <script>
        window.onload = function () {
            var script = document.createElement('script');
            script.innerHTML = 'alert("Javascript");'
            document.getElementById('main').appendChild(script);
        }
    </script>
</head>
<body>
    <div id="main">
    </div>
</body>
</html>

答案 1 :(得分:-1)

您的脚本有两个错误。这是行不通的,因为变量名称和函数名称等于div id和javascript的这个错误方法。你为你的div写了一个代码,但你没有运行它。你可以试试;

<div id="mydiv"></div>
<script>
function example()
{
document.getElementById("mydiv").innerHTML = eval("document.write('lololo')");
}
example();
</script>