JQuery外部文件无法正常工作

时间:2014-06-17 16:59:04

标签: jquery file external

我有一个名为login.js的jQuery文件:

<script type='text/javascript'>
var login = function () {
    $("a#register").click(function () {
        $("form#login").hide();
        $("form#signup").show();
    });
    $("a#login").click(function () {
        $("form#login").show();
        $("form#signup").hide();
    });
}
</script>

使用以下HTML:

<script>
$(document).ready(function() {
  login();
});
</script>

并在标题中得到了这个:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="../scripts/login.js"></script>

jQuery代码不是这样工作的,如果我将它直接包含在HTML中,那么它的工作原理是什么呢?

2 个答案:

答案 0 :(得分:1)

标题

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="scripts/login.js"></script>

Login.js

$(document).ready(function() {
    $("a#register").click(function() {
        $("form#login").hide();
        $("form#signup").show();    
    });

    $( "a#login" ).click(function() {
        $("form#login").show();
        $("form#signup").hide();    
    });
});

可能的修复:

    JS文件中的
  1. <script>标签
  2. ../scripts/更改为scripts/

答案 1 :(得分:0)

尝试将login.js移动到与您调用它的页面相同的位置(例如, web / index.php web / login.js )。如果这样可行,那么您遇到的问题就是您从标题中指向的JS文件的位置。

我建议你总是使用简单的路由到CSS和JS文件(比如/ css和/ js),以避免使用“... / path / to / file.js。这样,你的代码就应该这么简单:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="script/login.js"></script>

如果它适合你,你可以改进它,使用PHP变量指向服务器主页位置,从而使路径成为绝对路径,如下例所示:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="<?php echo $_SERVER['HOME']; ?>/script/login.js"></script>

我希望这会有所帮助。