js为什么不起作用?

JavaScript08

js为什么不起作用?,第1张

你的js代码要想运行有效,必须满足两个条件:一、jQuery必须加载完毕;二、页面的DOM结构必须加载完毕。如果把代码放到head,那么这时候jQuery和你的代码几乎是同时加载的,当你的代码运行时,jQuery很可能尚未加载完毕,这样条件一就很可能不满足;其次,这时候HTML的body尚未加载,这样条件二也不满足,所以代码运行无效。如果把代码放到body中所有标签的最后面,当你的代码运行时,jQuery和DOM都肯定已加载完毕,所以是有效的。

其实把你的js代码放到head中也是可以的,但必须放到load事件函数中,即这样:

<!DOCTYPE html>

<html>

<head>

<script src="http://code.jquery.com/jquery-latest.js"></script>

<script>

$(function(){

$("div:contains('a')").css("text-decoration", "underline")

})

</script>

</head>

<body>

<div>abc</div>

<div>asdf</div>

<div>qwer</div>

<div>asdw</div>

</body>

</html>

为什么js代码在HTML文件里可以运行,写在js文件里被html文件调用之后却是无法运行:

1.立即执行的JS代码会受位置的影响。

2.假如你把JS外部引用放入HEAD里,而你在该JS文件中试图直接访问DOM中的一个BODY的子元素,就可能产生错误,因为该JS在执行时,浏览器还没有准备好BODY的DOM。

3.如果是这样,你可以把JS引用移到所有它要访问元素标签之后,这样就不会出错了。

JS:

JS即Javascript,Javascript是一种由Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如Perl,遗留的速度问题。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。