2011-06-18 77 views
5

說我有這樣的事情訂單在HTML頁面中JS執行

<script type="text/javascript" src="somefile.js"></script> 
<div>something</div> 
<script type="text/javascript"> 
// Some INLINE javascript 
</script> 

它是保證(所有瀏覽器)執行內聯JS代碼當兩個somefile.js已被加載,它可以運行在它之前的div?

+0

看看這個:http://stackoverflow.com/questions/19035/javascript-load-order –

回答

3

確保您可以從somefile.js訪問代碼。

但是,DOM現在還沒有準備好,所以你不能訪問div。如果你想這樣做,使用下面的結構:

<div>something</div> 
<script type="text/javascript"> 
// document.write calls go here, not in onReady 

function onReady() { 
    document.getElementsByTagName('div')[0].setAttribute('class', 'loaded'); 
    // Or other inline JavaScript 
} 

if (document.addEventListener) { 
    document.addEventListener('DOMContentLoaded', onReady, false); 
} else { 
    window.onload = onReady; 
} 
</script> 

jQuery的顯著簡化它,你只寫

$(function() { 
    // inline code ... 
}); 
+0

我無法從somefile.js或從內嵌