哪里是在jQuery函数错误
问题描述:
请告诉我,我做错了什么:哪里是在jQuery函数错误
我试图创造id
在特定元素的每个孩子。以下代码不起作用:
$.get("/subject/list/", function(data){
$("#subject-description-main-menu-list").children().each(function() {
var pk;
var subject;
for (var i=0; i<data.length; i++) {
pk = data[i]['fields']['pk'];
subject = data[i]['fields']['name'];
};
$(this).attr("id","subject_"+subject+pk);
});
其余的代码工作正常! 谷歌Chrome控制台不给我任何错误, 但元素的id不会改变。
答
你跑过孩子为它创建一个ID?
在for循环中,您通过数据对象运行并设置pk和主题。因为您遍历整个数据对象并覆盖pk和主题,所以pk和主题始终设置为数据对象的最后一个元素。
因此PK和主题总是相同的值。如果您为每个孩子设置不同的ID,则不会覆盖PK和主题。
希望这是有帮助的。
答
我猜你得到的数据有length == 0
。尝试记录数据并查看它包含的内容以及它是否有长度。
+1
这应该是该问题下的评论。 – 2012-08-17 14:56:22
你没有描述“错误”是什么。 – 2012-08-17 14:55:37
您正在覆盖for循环的每个迭代中的'pk'和'subject',只是fyi。 – Jack 2012-08-17 14:56:21