$.each ( columns, function ( index, value ){
var td = document.createElement('td');
var text = document.createTextNode( data.attr( value ) );
td.appendChild(text);
tr.appendChild(td);
});
我有数据
我有value = "name"
我不能data.name
,我需要使用字符串做相同的操作。我试过了.attr( value )
,但那不起作用。
答案 0 :(得分:-1)
您可以通过两种方式访问对象属性。
使用[dot]
链接或like an array
。
如果您在访问object属性时遇到问题,或者您的对象属性是可变的,那么您可以使用数组访问。
简单示例
var data = {
aaa: {
items: [
{ id: 1, name: "test" },
{ id: 2, name: "test2" }
]
},
bbb: {
items: [
{ id: 1, name: "test" }
]
}
};
在下面的示例中,如果要在特定对象中设置空数组并且您的决定性键是变量,那么您不能使用[dot]链接,因为变量不受影响。然后你可以使用数组访问。
// set aaa as bbb
var aaa = 'bbb';
// WORK aaa is bbb
data[aaa]['items'] = [];
// DOES NOT WORK PROPERLY aaa is not bbb but still aaa
data.aaa.items = [];
希望有所帮助