2012-06-20 26 views
4

我試圖從對象添加結果新創建的HTML元素:鏈接jQuery.each()

*long chain of newly created elements*.append(
    $("<div />").append(
     $.each(myObj.results, function(intIndex, objValue){ 
      return objValue.description; 
     }) 
    ) 
); 

如果我使用的是()函數調用一個for循環,而不是每個()它的工作原理,但沒有辦法與each()實現這一點?

回答

2

.each是用於遍歷列表並執行操作,您可以通過$.map來實現你想要的結果,它在每次迭代中根據返回的元素構建一個數組。

*long chain of newly created elements*.append(
    $("<div />").append(function(){ 
     var des = $.map(myObj.results, function(objValue){ 
        return objValue.description; 
        }); 
     return des.join(' '); 
     }); 
); 
+0

謝謝你們,非常感謝。 :) –

3

。每剛剛經歷了集合迭代,你需要一個匿名函數返回的東西,那麼試試這個:

$("<div />").append(function(){ 
     var string = "": 
     $.each(myObj.results, function(intIndex, objValue){ 
       string += objValue.description; 
      }) 
     return string; 
    });