在循环中替换数组中的值

时间:2011-09-14 09:47:09

标签: javascript jquery arrays

如何在Jquery上取代数据数组?

我在外部文件中有数据数组,如下所示:

var prod = [];
prod[0] = ['one', 'two', 'three'];
prod[1] = ['four', 'five', 'six'];
...

在html文件中我要粘贴

<tr>
    <td class="prodname">prod[4][1]</td>
    <td class="prodnum">prod[4][2]</td>
    <td class="mprice_el">prod[4][3]</td>
</tr>

并通过调用函数fill();来替换数组中的数据。

我试着这样:

  function fill(){
    var prodname;
    var prodnum;
    var prodprice;
    $('.prodname').each(function(){
        for (var i = 0; i < prod.length; i++) {
            $(this).html(prodname);
        }
    }
}

但是不知道如何从html获取id并将其与数组进行比较。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你正在寻找这样的东西(虽然你可能想验证结果):

$('.prodname').text(function(i, t){
    var m = t.match(/^prod\[(\d+)\]\[(\d+)\]$/);
    return prod[m[1]][m[2]];
});

示例:http://jsbin.com/anusoj/3