function a(o)
{
    var div=document.createElement("div");
    div.id="div1";
    div.onclick=function(){
        b(o);
    }
    document.body.appendChild(div);}function b(o)
{
    alert(o);
}
如上代码比如我调用a的时候,给了一个参数o,a执行代码后建立一个div,那么我需要在单机div的时候执行b函数,并将a的参数o传递给b,但是以上代码执行起来后,在b中的o是null

解决方案 »

  1.   

    这样看看function a(o)
    {
        var div=document.createElement("div");
        div.id="div1";
        div.onclick=funb(o);
        document.body.appendChild(div);}
    function funb(o)
    {
    b(o);}
    function b(o)
    {
        alert(o);
    }
      

  2.   

    function a(o)
    在调用a的这个方法的时候有没有把参数传进去?检查下有没有错
      

  3.   

    其实这种思路本身就是错的,我已经找到解决办法了var oo;
    function a(o)
    {
        oo=0;
        var div=document.createElement("div");
        div.id="div1";
        div.onclick=function(){
            b(oo);
        }
        document.body.appendChild(div);}function b(o)
    {
        alert(o);
    }
      

  4.   

    <!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 LANGUAGE="JavaScript">
    <!--
    function a(o)
    {
        var div=document.createElement("div");
        div.id="div1";
    div.innerHTML = '<b>我是新的层</b>';
        div.onclick=function(){
            b(o);
        }
        document.body.appendChild(div);}function b(o)
    {
        alert(o);
    }//-->
    </SCRIPT>
    <button onclick="a('come here')">按我</button>
    </BODY>
    </HTML>你试试这个。没有问题呀。
      

  5.   

    function a(o)
    {
        var div=document.createElement("div");
        div.id="div1";
        div.onclick=function(){
            return (function(w){
                b(w);
           })(o);
    }    document.body.appendChild(div);}function b(o)
    {
        alert(o);
    }
      

  6.   

    老兄,这样不行的,根本没有执行b中的alert(o);这段代码,我用的是IE7