eval()无法评估innerHTML

时间:2013-05-30 11:50:20

标签: html eval innerhtml

我有以下代码结构

<script>  
function load_script()
{
  eval( document.getElementById("mydiv").innerHTML );
}
</script>

<div id="mydiv">function sum(a,b){return a+b;}</div>

<input type="button" onclick="load_script()" value="Load Script">

<input type='button' value = 'Get Sum' onclick='sum(1,2)'>

当我点击“加载脚本”按钮运行load_script()函数时,innerHTML不会被eval()解析,因此“获取总和”按钮总是失败。为什么会这样?

1 个答案:

答案 0 :(得分:0)

下面的代码对我有用。

<script>  
function load_script()
{
  eval( document.getElementById("mydiv").innerHTML + "");
}
</script>

<div id="mydiv">sum = function (a,b){return a+b;}</div>

<input type="button" onclick="load_script()" value="Load Script">

<input type='button' value = 'Get Sum' onclick='alert(sum(1,2));'>