我有以下功能,我想更通用:
function addRow2(rowData) {
var row = $("<tr />")
$("#dataTable").append(row);
row.append($("<td>" + rowData.param1 + "</td>"));
row.append($("<td>" + rowData.param2 + "</td>"));
row.append($("<td>" + rowData.param3 + "</td>"));
}
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
function addRow1(rowData) {
var row = $("<tr />")
$("#dataTable").append(row);
for (i = 1; i <= 3; i++) {
var marker = [];
marker[i] = 'rowData.param'+i;
alert(marker[i]);
row.append($("<td>" + marker[i] + "</td>"));
}
}
Run Code Online (Sandbox Code Playgroud)
但是,它不是rowData.param1...... 的值,3而是打印"rowData.param1","rowData.param1"和"rowData.param1".
您可以使用括号表示法按字符串名称访问对象属性,如下所示:
marker[i] = rowData['param' + i];
Run Code Online (Sandbox Code Playgroud)
作为旁注,您将在每次迭代时创建一个新数组,并将您的属性名称存储i为该数组的第th个元素.您可以更简单地使用变量:
for (i = 1; i <= 3; i++) {
var marker = rowData['param' + i];
alert(marker);
row.append($("<td>" + marker + "</td>"));
}
Run Code Online (Sandbox Code Playgroud)
或者单行:
for (i = 1; i <= 3; i++) {
row.append($("<td>" + rowData['param' + i] + "</td>"));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |