1

我不知道很多 javascript 但我意识到的一件事就是这样做

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

不工作!我理解这一点,但有没有另一种方法可以做同样的事情?

4

2 回答 2

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>

编辑:我在这里找到了关于你的问题的更多信息,我建议你阅读这个问题,它有很多有用的答案,它还解释了为什么你的第一种方法不起作用:可以用 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>
于 2013-05-20T19:59:06.783 回答
-1

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

<div id="mydiv"></div>
<script>
function example()
{
document.getElementById("mydiv").innerHTML = eval("document.write('lololo')");
}
example();
</script>
于 2013-05-20T20:17:05.193 回答