HTML页面中JS执行的顺序

时间:2011-06-18 13:31:52

标签: javascript html

说我有类似的东西

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

是否(所有浏览器)保证在执行内联js代码时,somefile.js都已加载并且它可以在div之前运行吗?

1 个答案:

答案 0 :(得分: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 ...
});