2012-08-17 71 views
-1

請告訴我,我做錯了什麼:哪裏是在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不會改變。

+0

你沒有描述「錯誤」是什麼。 – 2012-08-17 14:55:37

+0

您正在覆蓋for循環的每個迭代中的'pk'和'subject',只是fyi。 – Jack 2012-08-17 14:56:21

回答

1

你跑過孩子爲它創建一個ID?

在for循環中,您通過數據對象運行並設置pk和主題。因爲您遍歷整個數據對象並覆蓋pk和主題,所以pk和主題始終設置爲數據對象的最後一個元素。

因此PK和主題總是相同的值。如果您爲每個孩子設置不同的ID,則不會覆蓋PK和主題。

希望這是有幫助的。

0

我猜你得到的數據有length == 0。嘗試記錄數據並查看它包含的內容以及它是否有長度。

+1

這應該是該問題下的評論。 – 2012-08-17 14:56:22