在javascript函数中执行一些代码

时间:2013-07-11 09:44:24

标签: javascript html

我有一个带有一些示例代码的div。我想在按下按钮后执行此代码。这是我尝试过的:

HTML

<button onclick="javascript:playcode()"> </button>

JS

function playcode () {
     var execcode= "";
     for (i=1; i<=countCodeLine (); i++)
         execcode += document.getElementById("line"+i).innerText;

     var div= document.getElementById ("mydiv");
     var scr= document.createElement ('script', "");
     div.innerHTML= "play() {"+execcode+"}";
     div.appendChild(scr);
     play();
}

但它不起作用。我怎么能这样做?

更新:此处来自控制台的错误:

(line 9: pre.appendChild(scr)) Uncaught SyntaxError: Unexpected token { 
(line 10: play()) Uncaught TypeError: object is not a function 

1 个答案:

答案 0 :(得分:1)

如果您确实将正确的HTML添加到execcode中,则可以使用

eval(execcode);

您只需执行简单的console.log(execcode)alert(execcode)即可验证是否已正确加载。

但是,我可以向您保证,几乎肯定是一个非常非常糟糕的主意。对于某人来说,编辑你的DOM并插入他们想要的任何恶意javascript都是微不足道的。