當使JavaScript腳本遍歷一組具有相同類名稱的元素時,可以單獨更改它們的每個屬性。JavaScript只用一個類檢索div元素的唯一'id'?
如果腳本沒有唯一ID,腳本如何知道要編輯哪個元素?如果他們確實擁有唯一的ID,那麼你如何找回他們?使用alert();
來顯示簡單的document.getElementsByClassName('');
節點數組中保存的內容似乎顯示了元素的類型。
我真的可以將這些結果存儲在數組中供以後使用嗎?
如果在文件上負載,我取元件的具有特定的類名稱的數組:
<script>
var buttonArray = document.getElementsByClassName('button');
</script>
然後通過這個迭代,並且在「R」位置,以將對象添加結果:
<script>
var buttonArray = document.getElementsByClassName('button');
var buttonObject = {};
for(r=0;r<buttonArray.length;r+=1)
{
buttonObject[buttonArray[r]] = [r*5,r*5,r*5];
}
</script>
我將能夠找到陣列與類名的「按鈕」每個單獨的元素,像這樣:
<script>
var buttonArray = document.getElementsByClassName('button');
var buttonObject = {};
function changeCol(buttonID)
{
var red = buttonObject[buttonID][0];
var green = buttonObject[buttonID][1];
var green = buttonObject[buttonID][2];
buttonID.style.backgroundColor = "rgb("+red+","+green+","+blue+")";
}
for(r=0;r<buttonArray.length;r+=1)
{
buttonObject[buttonArray[r]] = [r*5,r*5,r*5];
buttonArray[r].onclick = function(){ changeCol(this); };
}
</script>
我以爲onclick = function(){ changeCol(this); };
的this
部分會保存與我存儲在buttonObject對象中相同的唯一ID,作爲保存該數組的變量名?
應該這樣工作嗎?我似乎無法在我的網頁上找到它,所以我使用buttonObject中的按鈕innerHTML作爲保存該對象數組的變量名稱。問題在於,我可能需要兩個或多個按鈕才能擁有相同的innerHTML。
這裏的網頁,因爲它是目前: http://www.shadespeed.com
我需要重新做腳本,使按鈕具有相同的名稱。
任何提示/建議將不勝感激。
非常感謝!
- Dan。 :)
對象的鍵必須是字符串,你不能使用DOM元素作爲鍵。 – Barmar
啊,謝謝。任何方式連接一個字符與DOM元素? –