<script>
function my_click()
{
    alert("click!");
}
function test()
{
    var str ="right|here|waiting|!";
    var res;
    res = str.split("|");
    var i=0;
    
    document.write("<table  border='1'  align='center'>");
    for(i;i<res.length;i++)
    {
        document.write("<tr>");
        //document.write("<td>");
        document.write("<td onclick='my_click()'>");
        document.write(res[i]);
        document.write("</td>");
        document.write("<br>");
        document.write("</tr>");
    }
    document.write("</table>");
}
test();//你不生成表格咋执行呀
</script>

解决方案 »

  1.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
      <script>
      function my_click()
    {
        alert("click!");
    }
    function test()
    {
        var str ="right|here|waiting|!";
        var res;
        res = str.split("|");
        var i=0;
        
        document.write("<table  border='1'  align='center'>");
        for(i;i<res.length;i++)
        {
            document.write("<tr>");
            //document.write("<td>");
            document.write("<td onclick='my_click()'>");
            document.write(res[i]);
            document.write("</td>");
            document.write("<br>");
            document.write("</tr>");
        }
        document.write("</table>");
    }
    test();
      </script>
     </BODY>
    </HTML>
      

  2.   

    恩,我知道哪里有问题了
    我执行JavaScript函数的时候使用的是在 <body> 中 onload 方式,无法执行
    采用上面几位的方式都可以。
    能有人帮我解释下么?谢谢
      

  3.   

    function my_click(){
        alert("click!");
    }(function test(){
        var str = "right|here|waiting|!";
        var res;
        res = str.split("|");
        var i = 0;
        
        document.write("<table  border='1'  align='center'>");
        for (i; i < res.length; i++) {
            document.write("<tr>");
            //document.write("<td>");
            document.write("<td onclick='my_click()'>");
            document.write(res[i]);
            document.write("</td>");
            document.write("<br>");
            document.write("</tr>");
        }
        document.write("</table>");
    })();
      

  4.   

    呵呵,你加到onload里不执行其实原因很简单, document.write会把输出流重定向,你用onload执行test()时,你点击查看下源代码,就会发现丢失了所有的js和原来的html,有的只是你document.write输出的内容,所以就出错咯