當通過[]運算符訪問JS對象的屬性時,我看到奇怪的行爲。無法使用哈希語法從JS對象檢索值
我在表格中有3列'attr1','attr2','attr3'。我的JS對象有一個名爲屬性屬性,這是一個哈希表,看起來像{attR1位: 'VAL',attR2位: 'VAL',attr3: 'VAL'}
以下做作代碼工作正常
function onRowDataBound(e) {
var attributes = e.dataItem.Attributes;
var keys = {0: 'attr1', 1: 'attr2', 2: 'attr3'};
for (var key in keys) {
var keyVal = keys[key];
var attribute = attributes[keyVal];
if (attribute != undefined) {
e.row.cells[key].innerText = attribute;
}
}
}
但是,下面的代碼中,我動態地構建了鍵對象; 屬性始終未定義。
function getKeys() {
var keys = {};
$('#Equipment thead th').each(function() {
keys[this.cellIndex] = this.innerText;
});
return keys;
}
function onRowDataBound(e) {
var attributes = e.dataItem.Attributes;
var keys = getKeys();
for (var key in keys) {
var keyVal = keys[key];
var attribute = attributes[keyVal];
if (attribute != undefined) {
e.row.cells[key].innerText = attribute;
}
}
}
`this.innerText`是一隻危險的猴子。 – palswim 2010-12-08 23:32:52
既然你使用的是jQuery,使用`.text()`而不是`innerText` – 2010-12-09 00:03:22