-1

请告诉我我做错了什么:

我正在尝试为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);
    });

其余代码工作正常!并且 Google chrome 控制台没有给我任何错误,但元素的 id 没有改变。

4

2 回答 2

1

你是通过孩子来创建一个id的吗?

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

因此 pk 和 subject 始终是相同的值。如果您将为每个孩子设置不同的 ID,则您不会覆盖 pk 和主题。

希望这会有所帮助。

于 2012-08-17T15:08:47.757 回答
0

我猜你得到的数据有length == 0。尝试记录数据并查看它包含的内容以及它是否有长度。

于 2012-08-17T14:55:18.127 回答