onclick方法点击时显示xx未定义,传递字符串。

原因:传递的对象是字符串,没有加引号。

$.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要用双引号,用转义字符去显示这个双引号,双引号和单引号要隔着用。

猜你喜欢

转载自blog.csdn.net/benbenniaono1/article/details/81660427