问题是这样的,我分别做了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>
<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>
<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"是不一样的
zz+="<li><input type=button value=X onclick=delli('"+cc+"') />"+cc+"</li>";
就行了。
因为aaaa是字符型的。
delli(1111)是可以 delli(aaaa)就是错误了。只能delli('aaaa')
delli(aaaa)只能识别aaaa为变量,可没有aaaa这个变量只能形成这种格式
delli('aaaa')才能弹出alert