问题是这样的,我分别做了2个按钮aaa和bbb,分别点击后生成1111和aaaa,看上是一模一样的,但是点击前面的X按钮,aaaa的无法显示。求教大侠~,在线等待~
<html>
<head>
<script type="text/javascript">
var zz="";
//全局变量zz
function add(cc)
     {
zz+="<li><input type=button value=X onclick='delli("+cc+");'/>"+cc+"</li>"; 
     var a=document.getElementById("ul1");
a.innerHTML=zz;
} function delli(cc)
     {
alert(cc);
}
    
     </script>
<title>
</title>
</head>
<body>
<div>
<input type="button" value="aaa" onclick="add('1111');"/>
<input type="button" value="bbb" onclick="add('aaaa');"/>
<div>
     <ul id="ul1">     </ul>
     </div>
</div>
</body>
</html>

解决方案 »

  1.   


    <html>
    <head>
    <script type="text/javascript">
    var zz="";
    //全局变量zz
    function add(cc){
    alert(cc+"=="+zz)
    zz+="<li><input type=button value=X onclick='delli(\""+cc+"\");'/>"+cc+"</li>";  
    var a=document.getElementById("ul1");
    a.innerHTML=zz;
    }function delli(cc)
      {
    alert(cc);

        
      </script>
    <title>
    </title>
    </head>
    <body>
    <div>
    <input type="button" value="aaa" onclick="add('1111');"/>
    <input type="button" value="bbb" onclick="add('aaaa');"/>
    <div>
      <ul id="ul1">  </ul>
      </div>
    </div>
    </body>
    </html>你原来传入delli里的参数 是一个变量 而不是字符串,1111是数字直接量 而aaaa这个变量你没有定义 它与"aaaa"是不一样的
      

  2.   

    改一下。
    zz+="<li><input type=button value=X onclick=delli('"+cc+"') />"+cc+"</li>";  
    就行了。
    因为aaaa是字符型的。
    delli(1111)是可以 delli(aaaa)就是错误了。只能delli('aaaa')
      

  3.   

    zz+="<li><input type=button value=X onclick=delli('"+cc+"') />"+cc+"</li>";  delli(1111)没错,可以识别1111为数字
    delli(aaaa)只能识别aaaa为变量,可没有aaaa这个变量只能形成这种格式
    delli('aaaa')才能弹出alert
      

  4.   

    add函数里面的参数CC接受的是任意类型数,但是你这样写zz+="<li><input type=button value='X' onclick=delli("+cc+")></li>" JS引擎会把这个cc解读为整数,为了解读正确请把字符参数写成这样zz+="<li><input type=button value='X' onclick=delli(\""+cc+"\")></li>";这样"cc"就是字符而不是数字了