-2

JSON に問題があります。JSON データを HTML に含める必要があります。ページでソースを表示するとき - #content は空ですが、データが表示されており、このデータを HTML で解析して (ほとんど) 処理する必要があります。彼ら

それを解決するにはどうすればいいですか?

$(document).ready(function () {
    $.getJSON('data.json', function (data) {
        $('#content').empty();
        $.each(data, function (entryIndex, entry) {
            var html = '<div class="data" id="' + entry['number'] + '">';
            html += '<b>' + entry['number'] + '</b>';
            html += '<div class="product">' + entry['product'] + '</div>';
            html += '<div class="price">' + entry['price'] + ' eur</div>';
            html += '<section class="image"><img alt="' + entry['product'] + '" src="' + entry['image'] + '"/></section>';
            if (entry['ingredients']) {
                html += '<section class="ingredients">';
                html += '<ul>';
                $.each(entry['ingredients'], function (colorIndex, ingredients) {
                    html += '<li>' + ingredients + '</li>';
                });
                html += '</ul>';
                html += '</section>';
            }
            $('#content').append(html);
        });
    });
    return false;
});
4

1 に答える 1

0

html変数を外側で宣言し、外側の$.each()行の下に置きます$.each()

$('#content').append(html);

また、<div>アフターを閉じますIF condition

 var html = '';
 $.each(data, function(entryIndex, entry){
        html += '<div class="data" id="' + entry['number'] + '">';                     
        html += '<b>' + entry['number'] + '</b>';
        html += '<div class="product">' + entry['product'] + '</div>';  
        html += '<div class="price">' + entry['price'] + ' eur</div>';              
        html += '<section class="image"><img alt="' + entry['product'] + '" src="' + entry['image'] + '"/></section>';
        if(entry['ingredients']){
            html += '<section class="ingredients">';                                            
            html += '<ul>';
            $.each(entry['ingredients'],function(colorIndex, ingredients){
                html += '<li>' + ingredients + '</li>';                        
            }); 
            html += '</ul>';                        
            html += '</section>';
        }
        html += '</div>';
    });  
   $('#content').append(html);
于 2013-10-04T11:17:13.410 に答える