2011-06-18 38 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或从内嵌