2011-05-11 65 views
2

我有一個名爲「數組」的div的數組,我使用getElementsByTagName從DOM中收集。其中一個div爲null(在「nullindex」處),我想將其位置與其他div的其中一個位置(在「index」處)切換。我想:javascript:設置數組索引值不起作用?

array[nullindex] = array[index]; 
array[index] = null; 
alert(array[index].innerHTML + "," + array[nullindex].innerHTML); 
nullindex = index; 

這應該切換的div的位置和「nullindex」設置到新的位置,對不對?但警報調用爲兩者產生相同的innerHTML,這意味着div被複制,不被切換,並且應該爲null的不是。所以下一次我重複找到我想要的div時,它仍然處於原始位置。幫幫我!!

+0

注意:我認爲這與指針有關? – vcw 2011-05-11 23:08:03

回答

2

問題是從getElementsByTagName返回的數組不是實際的數組。在操作元素之前,運行以下代碼:

array = Array.prototype.slice.apply(array); 
+0

我決定只編輯divs(id,具體)的屬性以反映運動變化,而不是改變數組中的順序。感謝您的幫助! – vcw 2011-05-12 00:40:28

+0

由於答案解決了原始發佈的問題,因此請確保您單擊「接受」選項卡以覆蓋該方法< - – 2011-05-12 00:49:11