Jquery实现动态添加table以及JSON数组的解析

昨天写一个作业的时候,因为一个错误浪费了我两个多小时,为了以后不再同一个地方摔倒,果断记录下来。代码片先粘过来

$(".borrow").click(function(){
       var text2="";
       var text1="";
       var text = "<tr style='font-size: 16px;font-weight: 200;'><td>图书编号</td><td>图书名称</td><td>借出时间</td><td>截止时间</td></tr>"; 
       $("#showbk").css("display","inline");//引号里面不能有空格
       $(".tr1").empty();
    $.post("fun5.do",{cardid:$(this).next().val()},
    function(result){
         var jsobject = JSON.parse(result);
        // $("#table1").prepend(text);  
         for (var i = 0; i < jsobject.length; i++) {

             if(jsobject[i].state==1)
                {
                $("#table1").append("<tr class='danger tr1' ><td>"+jsobject[i].bookid+"</td><td>"+jsobject[i].bookName+"</td><td>"+jsobject[i].startDate+"</td><td>"+jsobject[i].endDate+"</td></tr>");

                }else{
                    $("#table1").append("<tr class='tr1'><td>"+jsobject[i].bookid+"</td><td>"+jsobject[i].bookName+"</td><td>"+jsobject[i].startDate+"</td><td>"+jsobject[i].endDate+"</td></tr>");
                }    
        }   

    });
  });
  • for循环里面不能声明变量

这个低级的错误,我竟然没有意识到,害我alert(1) 一个一个验证哪里出现问题

  • 在使用jquery添加css样式的时候,一定要记住一点,“ ” 引号中间不能有空格。

千万记住,有一个空格就会不能运行,控制台还不会报错告诉你哪里有问题,这就比较麻烦了。
-例如:

$("#showbk").css(" display","inline");

因为display前面有空格,所以就不能运行。

  • 动态添加div
$("#table1").append("<tr class='danger tr1' ><td>"+jsobject[i].bookid+"</td><td>"+jsobject[i].bookName+"</td><td>"+jsobject[i].startDate+"</td><td>"+jsobject[i].endDate+"</td></tr>");

这里的意思就是在id=“table1” 里面结束标签前添加。

  • JSON数组解析
 var jsobject = JSON.parse(result);//JSON数组转化为对象数组
         //循环获取jsobject 里的值
         for (var i = 0; i < jsobject.length; i++) {

             if(jsobject[i].state==1)
                {//动态添加<tr></tr>
                $("#table1").append("<tr class='danger tr1' ><td>"+jsobject[i].bookid+"</td><td>"+jsobject[i].bookName+"</td><td>"+jsobject[i].startDate+"</td><td>"+jsobject[i].endDate+"</td></tr>");

                }else{
                    $("#table1").append("<tr class='tr1'><td>"+jsobject[i].bookid+"</td><td>"+jsobject[i].bookName+"</td><td>"+jsobject[i].startDate+"</td><td>"+jsobject[i].endDate+"</td></tr>");
                }    
        }   

最后附上上述代码接受到的JSON数据,供大家学习参考,如果有哪里说的不对的地方,请大家指点。

[{"bookName":"java程序设计","bookid":1011,"cardid":2017001,"endDate":1518710400000,"id":5,"startDate":1516032000000,"state":0},
{"bookName":"Html开发","bookid":1012,"cardid":2017001,"endDate":1518710400000,"id":6,"startDate":1516032000000,"state":0},
{"bookName":"java程序设计","bookid":1011,"cardid":2017001,"endDate":1518710400000,"id":7,"startDate":1516032000000,"state":1},
{"bookName":"Html开发","bookid":1012,"cardid":2017001,"endDate":1518710400000,"id":8,"startDate":1516032000000,"state":1},
{"bookName":"Html开发","bookid":1012,"cardid":2017001,"endDate":1518710400000,"id":9,"startDate":1516032000000,"state":0}]

另:有没有什么好办法能够验证jquery 或者js语法错误,一个一个 alert()真的很麻烦。

发布了48 篇原创文章 · 获赞 34 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/lzx159951/article/details/79094409