JQuery函数中的错误在哪里

JQuery函数中的错误在哪里,jquery,function,Jquery,Function,请告诉我我做错了什么: 我试图为特定元素中的每个子元素创建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++) {

请告诉我我做错了什么:

我试图为特定元素中的每个子元素创建
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);
    });
$.get(“/subject/list/”,函数(数据){
$(“#主题描述主菜单列表”).children().each(函数()){
var-pk;
var主体;

对于(var i=0;i我猜您获得的数据的长度为
length==0
。尝试记录数据,看看它包含什么,以及它是否有长度。

您通过子项为它创建id

在for循环中,您运行一个数据对象并设置pk和subject。pk和subject始终与数据对象的最后一个元素一起设置,因为您运行整个数据对象并覆盖pk和subject

因此,pk和subject始终是相同的值。如果要为每个子项设置不同的ID,则不能覆盖pk和subject


希望这是有帮助的。

您没有描述“错误”是什么。您正在覆盖for循环的每个迭代的
pk
subject
,仅供参考。这应该是问题下的注释。