请问js这样写为什么前台没有显示出来
$.each(data,function(k,v){varmould=$("#menuList").html();$(mould).find("td[pofield=id...
$.each(data,function(k,v){ var mould = $("#menuList").html(); $(mould).find("td[pofield=id]").text(v.id); $(mould).find("td[pofield=pId]").text(v.pId); $(mould).find("td[pofield=name]").text(v.name); $(mould).find("td[pofield=classBtn]").text(v.classBtn); $("#tb").append($(mould)); })这种写法在td标签里没有值 $.each(data,function(k,v){ var mould = $($("#menuList").html()); mould.find("td[pofield=id]").text(v.id); mould.find("td[pofield=pId]").text(v.pId); mould.find("td[pofield=name]").text(v.name); mould.find("td[pofield=classBtn]").text(v.classBtn); $("#tb").append(mould); })这样写就有值了我不明白啊 2种有哪里不一样吗
展开
1个回答
展开全部
第一种方法var mould = $("#menuList").html(); , 这个mould是一个字符串
$(mould).find("td[pofield=id]").text(v.id);这几步的操作是用mould这个字符串新建一个jquery对象,然后把这个对象text写进去,但是,mould的内容根本就没修改
所以最后append进去的依旧是用这个mould新建的jquery对象,这个mould由始至终一直都是字符串,语句没有对其进行修改。
第二种的mould就已经是jquery对象了,后面的语句修改的就是这个对象,所以就修改成功了。
$(mould).find("td[pofield=id]").text(v.id);这几步的操作是用mould这个字符串新建一个jquery对象,然后把这个对象text写进去,但是,mould的内容根本就没修改
所以最后append进去的依旧是用这个mould新建的jquery对象,这个mould由始至终一直都是字符串,语句没有对其进行修改。
第二种的mould就已经是jquery对象了,后面的语句修改的就是这个对象,所以就修改成功了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询