0

以下のようにjqueryに$eachループがあります

some code---------
var temp="";
var msg_html="";

$.each(_d, function(index, val) {

        var currentID=val.id;

        if(temp.match(new RegExp("(?:^|,)"+currentID+"(?:,|$)"))) {

        msg_html+'_'+currentID        += messageTemplate(val.photo, val.from_name, val.message);

        } else{

        msg_html+'_'+currentID        += messageTemplate(val.photo, val.from_name, val.message);

        temp += currentID + ",";
        }

        });


some code ------------------

上記のコードが機能する場合、次のように表示できます。

        $('#someID_0').html(msg_html_0);
        $('#someID_1').html(msg_html_1);
        $('#someID_2').html(msg_html_2);
        ----
        ---
        ---

このコードの問題は、「msg_html+'_'+currentID」に無効な割り当てとしてのエラーがあることです。動的に割り当てる他の方法はありますか?

4

4 に答える 4

0

オブジェクトを使用する

var temp = ""; var msg_html = {};

$.each(_d, function(index, val) {
    var currentID = val.id;
    msg_html['_' + currentID] = '';
    if (temp.match(new RegExp("(?:^|,)" + currentID + "(?:,|$)"))) {
        msg_html['_' + currentID] += messageTemplate(val.photo, val.from_name, val.message);
    } else {
        msg_html['_' + currentID] += messageTemplate(val.photo, val.from_name, val.message);
        temp += currentID + ",";
    }
});

それで

$('#someID_0').html(msg_html._0);
$('#someID_1').html(msg_html._1);
$('#someID_2').html(msg_html._2);
于 2013-04-30T05:39:21.257 に答える