我正在尝试构建一个关联数组parentTds
但是它没有按照我想要的方式工作。
var parentTds = {};
var index = 0;
$.each(clone, function () {
var $currentItem = $(selectedActivities[index]);
var $currentItemTd = $currentItem.closest('td');
console.log($currentItemTd.get(0));
var borderLeft = 0;
console.log(parentTds[$currentItemTd.get(0)]);
console.log(parentTds[$currentItemTd]);
if (typeof parentTds[$currentItemTd.get(0)] === "undefined") {
console.log('NOT OK');
borderLeft++;
parentTds[$currentItemTd.get(0)] = $currentItemTd;
} else {
console.log('OK');
}
index++;
});
由于某种原因parentTds[$currentItemTd.get(0)]
始终返回存储的第1项。我在第一次循环运行时得到NOT OK
,而我应该再次NOT OK
。我怀疑问题是parentTds[$currentItemTd.get(0)]
本身。
有什么想法吗?
答案 0 :(得分:0)
Javascript并不像PHP那样宽恕。当你使用它时:
if (typeof parentTds[$currentItemTd.get(0)] === "undefined") {
$currentItemTd.get(0)
可能被评为0,因此引用始终为parentTds[0]
在这种情况下,我用来打破代码块并执行以下操作:
var cig = $currentItemTd.get(0);
if (typeof parentTds[cig] === "undefined") {