2011-09-15 68 views
0

我想在JS中製作類似庫的東西。如果table有一個class =「aClass」,我想用JS自動修改它的一些元素。所有html加載後的JS事件

我試着這樣說:

window.onLoad = LoadSetup(); 

function LoadSetup() 
{ 
    tables = document.getElementsByTagName("table"); 
    alert(tables.length); // it's 0 though there are is one in the document 
} 

但我看來,這個函數加載HTML之前運行。如何解決這個問題?

回答

1

兩個問題:

  1. onload需要全部小寫。不是將事件處理程序綁定到window.onload,而是將自定義屬性添加到的onLoad
  2. 指定onload a 參考的功能。省略括號。使用parens,您正在立即調用該函數,並將其返回值分配給window.onLoad

試試這個:

window.onload = LoadSetup; 
+0

你是對的,謝謝。很難跟蹤我(2天的JS經驗),因爲它實際上做了一些或多或少的預期和我的預期。再次感謝您。 – gisek

1

爲什麼不使用:

jQuery(document).ready(function() { 
LoadSetup(); 
}); 

從JQuery的:http://jquery.com/

問候,

+0

或者,簡潔,'$(函數(){/ *這裏的代碼* /!});' – Alex

+0

jQuery是一個工具,在需要的時候這是偉大的。普通的老javascript會比這裏做更多的技巧.. –

0

你分配功能LoadSetup的結果。分配基準LoadSetup代替:

window.onload = LoadSetup; 

還要注意它的window.onload(區分大小寫)。

1

嘗試

window.onload = LoadSetup; 

包括括號將執行功能,並設置在window.onload該函數的返回值。

相關問題