我覺得這應該有一個非常簡單的答案中的其他元素,但我仍然抓我的頭和谷歌是沒有幫助。我試圖在數組中存儲有關元素的信息。但是,在Google Chrome中,當我設置第二個元素的信息時,它會覆蓋第一個元素。下面的代碼的簡化版本:的getElementById()在Array()被覆蓋陣列
<!DOCTYPE HTML>
<html>
<head>
<script>
var $box = new Array();
$box['test'] = new Array();
function load(){
$box['test'][document.getElementById('box')] = true;
$box['test'][document.getElementById('boxinfo')] = false;
console.log('box: ' + $box['test'][document.getElementById('box')]); // box: false // Should be true
console.log('boxinfo: ' + $box['test'][document.getElementById('boxinfo')]); // boxinfo: false // Should be false
console.log(document.getElementById('box') == document.getElementById('boxinfo')); // false // Should be false
}
</script>
</head>
<body onload="load();">
<div id="box">
<div id="boxinfo">BoxInfo</div>
Box
</div>
</body>
</html>
我怎樣才能讓這個
$box['test'][document.getElementById('box')] // is true
$box['test'][document.getElementsByTagName('div')[0]] // is true
$box['test'][document.getElementById('boxinfo')] // is false
順便說一句,在陣列上,不創建命名屬性;改用索引。 –