簡體   English   中英

TypeError:document.getElementById(...)[0]未定義

[英]TypeError: document.getElementById(…)[0] is undefined

好了朋友們。 我不確定為什么這不起作用。 老師給我們舉了一個例子,據我所知,除了函數和變量名之外,一切都是一樣的...使用外部JavaScript文件,Dreamweaver說沒有語法錯誤或其他任何類型的調試器Firefox說TypeError: document.getElementById(...)[0] is undefined...我不確定為什么但這里是我的代碼:

JavaScript

var caveboyanim = new Array(6);
var curCaveBoy = 0;

for (var i = 0; i < 6; ++i) {
    caveboyanim[i] = new Image();

    caveboyanim[i].src = "images/caveboy" + i + ".png";
}

function caveboyanimation() {
    if (curCaveBoy == 5)
        curCaveBoy = 0;
    else ++curCaveBoy;
    document.getElementById("caveboy")[0].src = caveboyanim[curCaveBoy].src;
}

HTML

<body onLoad="setInterval('caveboyanimation()', 1000);">

<img src="images/caveboy0.png" id="caveboy"  alt="Image of a cave boy">

</body>

從以下位置刪除[0]

document.getElementById("caveboy")[0].src = caveboyanim[curCaveBoy].src;

索引0與jQuery對象一起使用以獲得“真實”文檔元素。 但是你沒有在這里使用JQuery,所以不需要它。

document.getElementById()的返回不是數組。 采用:

document.getElementById("caveboy")

它沒有返回一個數組,所以你不能做[0] https://developer.mozilla.org/en-US/docs/Web/API/document.getElementById

順便說一句,看看jQuery。

在原生javascript中:

document.getElementById("caveboy").src = caveboyanim[curCaveBoy].src;

在jQuery中你可以這樣做以獲得真正的DOM對象:

$("#caveboy")[0].src = caveboyanim[curCaveBoy].src;

document.getElementById("caveboy")$("#caveboy")[0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM