jQuery语句不在单独的文件中工作?

时间:2014-06-17 13:14:02

标签: javascript jquery html include head

当我将它包含在我的" head" -element主题中时,我的简单jQuery语句不起作用,如:

<script src="js/test.js" type="text/javascript"></script>

但是当我在我的&#34; body&#34; -element中使用它时,它就像

一样正常
<script>
  $( "#testid" ).click(function() {
  alert( "Handler for .click() called." );
  });
</script>

我已经用firebug检查过我的test.js文件正确地包含在我的网站上。那我错了什么? test.js文件看起来与&#34;脚本&#34;完全相同。部分上面没有脚本标签。

任何想法都赞赏:)

3 个答案:

答案 0 :(得分:1)

感觉像是我拉开了Rajaprabhu,但是:

<script>
  $(document).ready(function (){
    $( "#testid" ).click(function() {
      alert( "Handler for .click() called." );
    });
  });
</script>

答案 1 :(得分:1)

在忘记密码之前,您忘记告诉jQuery等待DOM ready

$(function() {
    $( "#testid" ).click(function() {
        alert( "Handler for .click() called." );
    });
});

当您将代码包含在body标记目标元素后,您的代码将起作用。但是,如果将其包含在主体部分在目标元素之前或在head部分中,则代码将无效。因此,建议始终将代码包装在DOM ready中。 DOM ready可以用不同的方式编写:

  

以下所有三种语法都是等效的:

$( document ).ready( handler )
$().ready( handler ) (this is not recommended)
$( handler )

查看文档:{​​{3}}, 和教程:http://api.jquery.com/ready/

答案 2 :(得分:1)

试试这个..

<script>
$(document).ready(function(){
  $( "#testid" ).click(function() {
     alert( "Handler for .click() called." );
  });
});

</script>

还要确保在jquery scipt之后添加了脚本。