-1

私が間違っていることを教えてください:

id特定の要素の子ごとに作成しようとしています。次のコードは機能しません。

$.get("/subject/list/", function(data){
    $("#subject-description-main-menu-list").children().each(function() {
        var pk;
        var subject;
        for (var i=0; i<data.length; i++) {
            pk = data[i]['fields']['pk'];
            subject = data[i]['fields']['name'];
        };  
        $(this).attr("id","subject_"+subject+pk);
    });

コードの残りの部分は正常に動作します。また、Google chrome コンソールではエラーは表示されませんが、要素の ID は変更されません。

4

2 に答える 2

1

あなたはそれのIDを作成するために子供たちを駆け抜けますか?

for ループでデータ オブジェクトを実行し、pk と subject を設定します。データ オブジェクト全体を実行して pk と subject をオーバーライドするため、pk と subject は常にデータ オブジェクトの最後の要素で設定されます。

したがって、pk と subject は常に同じ値です。子ごとに異なる ID を設定する場合は、pk と subject をオーバーライドしません。

これがお役に立てば幸いです。

于 2012-08-17T15:08:47.757 に答える
0

私はあなたが得るデータが持っていると思いますlength == 0。データをログに記録して、データの内容と長さがあるかどうかを確認してください。

于 2012-08-17T14:55:18.127 に答える