我想用JS动态生成一个另一个JS的方法,用按钮调用,可惜不行,请大家指教指教。
代码如下:+html代码
<html>
    <head>
        <title>111</title>
        <script src="test.js" language="javascript" type="text/javascript" ></script>
    </head>
    <body>
        <input type="button" onclick="test()" />
        <input type="button" onclick="tst()" />
    </body>
</html>test.js代码
function test() {
    var head = document.getElementsByTagName("head")[0];
    var scriptNode = document.createElement("script");
    scriptNode.setAttribute("type", "text/javascript");
    scriptNode.innerHTML = "function tst() { alert(); }";
    head.appendChild(scriptNode);
}通过firebug看到点击第一个按钮后HTML中已经生成相应的JS的方法,但是点第二个按钮却没有反应,不知道为什么

解决方案 »

  1.   

    scriptNode.innerHTML =
    是.text=
      

  2.   

    alert()改成alert(''); 在 FireFox下 是 可以运行的。
      

  3.   

    兄弟 你的innerHTML IE是不支持的
    text才是浏览器通用 我说alert('')在FF下可以不代表你其他地方正确
      

  4.   


    这个好像说的不对吧?“你的innerHTML IE是不支持的????”
    innerHTML 是基本的通用的DOM写法,outerHTML,innerText,outerText除了IE,其他好像都不支持