原因:传递的对象是字符串,没有加引号。
$.post("personList.action",function(datas){
var bmList=datas.list;
var i=0;
if(bmList.length>0){
var id= bmList[i].id;
$(".course").html("");
for(i=0;i<bmList.length;i++){
var html="<li onclick='personDetail(\""+id+"\")' style='cursor:pointer'>"
+"<h3><span>"+bmList[i].name+"</span></h3>"
+"<h4><span>年龄:"+bmList[i].age+"</span></h4>"
+"<h4><span>性别:"+bmList[i].sex+"</span></h4></li>"
$(".course").append(html);
}
}else{
$(".course").hide();
$("#zwsj").show();
//$(".course").html("<p style='color:#aaa'>暂无</p>");
}
});
之前的写法"<li onclick='personDetail("+id+")' style='cursor:pointer'>",然后点击跳转时显示id未定义。
原因:id是字符串,需要加引号,因为personDetail方法已经用了单引号隔开,所以id要用双引号,用转义字符去显示这个双引号,双引号和单引号要隔着用。