0

私はこのhtmlを持っています:

    <div id="wrapper">
<div id="gamelist"></div>
</div>

そして、Jqueryを介してゲームリストdivに順序付けられていないリストを配置したいと思います。

                var gamenr = 0;
            $.each(response.payload, function(key, value) { 
                    //alert(key + ': ' + value);
                $('#gamelist').append("<ul id='"+gamenr+"' class='game'></ul>");

                $.each(value, function(key, value){
                    //alert(key +': ' + value);     
                    $("#gamelist").attr('id', gamenr).append("<li>"+value+"</li>");
                });
                gamenr++;
            });

表示されるのは最初の値だけです。gamenrは、「ユニークだがそれほど美しくはない」IDを作成することになっています。

残りの値が表示されない理由を知りたいのですが。

前もって感謝します、

ティムA

4

4 に答える 4

2

最初の反復でのIDを変更し、#gamelist次に2番目の反復で追加しようとしています#gamelist。これは最初の反復でIDを変更したため、存在しなくなった要素です。

var gamenr = 0;
$.each(response.payload, function(key, value) {
    var gamelist = $('<ul />', {id: 'a_'+(gamenr++), 'class':'game'});

    $.each(value, function(j, k) {
        var li = $('<li />', {text: k});
        gamelist.append(li);
    });

    $('#gamelist').append(gamelist);
});​
于 2012-10-31T12:03:47.287 に答える
0

<li>同じ<div>ブロックに要素を追加しますが、追加されたものには追加しません<ul>

var gamenr = 0;
$.each(response.payload, function(key, value) {
    $("#gamelist").append("<ul id='" + gamenr + "' class='game'></ul>");

    $.each(value, function(key, value) {
        $("#" + gamenr).append("<li>" + value + "</li>");
    });

    gamenr++;
});​
于 2012-10-31T12:01:17.557 に答える
0

これを見てください

$("#gamelist").attr('id', gamenr)

idを持つ要素のidgamelistをgamenrのコンテンツに設定します。これはあなたが望んでいたものではありません。代わりにこれを試してください

$('#'+gamenr)
于 2012-10-31T12:02:17.340 に答える
0

次のコードを変更するだけです

$("#gamelist").attr('id', gamenr).append("<li>"+value+"</li>");

次のものに

$("#gamelist ul[id='" + gamenr + "']").append("<li>"+value+"</li>");
于 2012-10-31T12:07:51.243 に答える