[英]Frustrating issue with JavaScript's getElementById()
這是我被要求實施的畫廊
http://sandbox.leigeber.com/slideshow/
我已經將其切碎並稍作更改,因此它可以更輕松地適合新站點的模板系統。
每當我運行它時,此行都會導致錯誤
ta=document.getElementById(thumbid);
說ta
為空。 我知道thumbid var的值確實以無序列表的ID的形式存在。
我試圖弄清楚現在至少半小時后發生了什么,而且似乎無法確定!
有人可以告訴我我在做什么錯嗎?
是的,代碼看起來不錯,並且可以從Firebug控制台運行相同的代碼行,所以讓我想知道thumbs
元素在運行時是否確實存在? 它在document.ready
-style處理程序中嗎? 如果在該元素存在於該頁面之前被調用,則ta
將為null,這將導致該錯誤。
看起來slideshow函數被要求過早初始化。 這將在DOM樹准備好之前被調用:
var slideshow = function() {
...
} ();
嘗試最后刪除()。
好消息! jQuery用普通的Javascript編寫! 您應該能夠復制他們的方法來按ID獲取元素並使用它。
尚不清楚thumbid
應該具有什么值,但是在我看來,您的問題是無序列表中的li項沒有id
,而它們具有value
。
調用document.getElementById('thumbs')
可以很好地獲取列表本身的ul
元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.