1

こんにちはみんな私はDOMに追加しようとしている配列を持っています!コードは次のとおりです。

function inputFeedContent(data){
    for(var k=0; k < columns; k++) {
        var col = "<div class='col-1'>";
        for(var j=0; j < data.sample[k].length; j++) {
            col += "<p>"+data.sample[k][j]+"</p>";
        }
        col += "</div>";
        $('.sliding-window').append(col);
    }
}

ここで、columns =12です。

問題は、これらのうち5つしか取得できないことです。

<div class="col-1">
    <p>Some text</p>
</div>

私はここで何が間違っているのですか?私は初心者だということを覚えておいてください:)

ありがとう!

4

3 に答える 3

1

各列を別々に印刷しようとしていると思います。したがって、行ごとに印刷するのではありません。これを試して:

function inputFeedContent(data) {
    for(var k=0; k < columns; k++) {
     var col = "<div class='col-1'>";
     for(var j=0; j < data.sample.length; j++) {
        col += "<p>"+data.sample[j][k]+"</p>";
     }
     col += "</div>";
     $('.sliding-window').append(col);
    }
}
于 2013-01-08T21:38:06.587 に答える
0

に適切な数の列が含まれていない場合data、エラーが発生し、ページへの追加が停止します。次のようなものを使用して、列が正しく初期化されていることを確認できます。

function inputFeedContent(data){
    var sampleData = data.sample || [];
    for(var k=0; k < columns; k++) {
        var col = "<div class='col-1'>";
        var columnData = sampleData[k] || [];

        for(var j=0; j < columnData.length; j++) {
            col += "<p>"+columnData[j]+"</p>";
        }
        col += "</div>";
        $('.sliding-window').append(col);
    }
}

...しかし、おそらくこのケースは最初からサポートされるべきではなく、エラーをスローする必要があります:

function inputFeedContent(data){
    var sampleData = data.sample || [];
    if(sampleData.length != columns){ 
        throw "inputFeedContent:  Sample data does not have the right number of columns.";
    }

    ..//Your code
}
于 2013-01-08T20:41:24.857 に答える
0

配列に12列がない可能性があるため、列をグローバル変数として定義する代わりに、これを試してください

function inputFeedContent(data){
var col=[];
for(var k=0; k < data.sample.length; k++) {

       col.push("<div class='col-1'>");
        for(var j=0; j < data.sample[k].length; j++) {
            col.push("<p>"+data.sample[k][j]+"</p>");
        }
        col.push("</div>");

    }
$('.sliding-window').append(col.join(''));
}

また、文字列の連結はループ内で効率的ではなく、ループの外側に保持することで一度アクセスするため、文字列の連結を避けることをお勧めします。

于 2013-01-08T20:42:43.887 に答える