jQuery通过属性的字符串名称获取对象的元素

时间:2015-05-09 21:54:46

标签: javascript jquery arrays object

$.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 ),但那不起作用。

1 个答案:

答案 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 = [];

希望有所帮助