2012-03-05 14 views
1

次の形式を含むAJAXレスポンスからすべての子div値を取得する必要があります。jqueryのすべての子div値を取得するAJAXレスポンス

var jqxhr = $.post('<%= url_for :action => :friend_list %>', { id: fid }, 
    function(data){ 
     var stripped_data = $(data).html().trim(); 
     var top_name = $(stripped_data).find('div.toppings_name').html(); 
    }); 

stripped_dataのアラートには、次の形式が含まれています。

<div id="toppings> 
    <div class="toppings_name">a</div> 
    <div class="toppings_name">b</div> 
    <div class="toppings_name">c</div> 
</div> 

私は.find()メソッドを使用してみましたが、最初の子の値を取得。親divからすべての値を取得する方法。

答えて

3

問題はあなたが単一の要素で使用するためのものが、実際のコレクションにそれを使用しているhtmlを使用しているです。代わりに、外側のdivのhtmlコンテンツが必要です。代わりに

var top_name = $(stripped_data).find('#toppings').html(); 

あなたががdivのリスト内の名前のそれぞれを探しているなら、してみてくださいこれを試してみてください、次の

var all = []; 
$(stripped_data).find('div.toppings_name').each(function() { 
    var name = $(this).text(); 
    all.push(name); 
}); 
3

あなたはすべての値を取得するために一緒にjQueryの.each()機能を使用する必要があります。

$(stripped_data).find('div.toppings_name').each(function() { 
    // Process each topping here 
}); 
関連する問題