Jquery函数适用于本地服务器但不适用于Live?

时间:2013-04-15 10:10:53

标签: javascript jquery asp.net visual-studio-2010

我遇到了一个小问题,我已经下拉水平菜单栏,我已经应用了jquery函数来打开和关闭父项和子项。 所以它在我的本地服务器上工作得很好但它不能在我的实时服务器上运行。每件事都在现场上传,我已经从实时服务器多次检查了我对所有脚本文件的引用。

这是我的HTML 参考文献:

    <script src="../../resources/scripts/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>

   </script>
    <script src="../../resources/scripts/smooth.js" type="text/javascript"></script>

HTML代码:

 <div id="menu">
                    <ul id="Ul2" class="opened">
                        <li class="collapsible"><a href="#" class="collapsible plus">Settings</a>
                            <ul id="Ul3" class="collapsed">
                                <li><a href="#">General Settings</a></li>
                            </ul>
                        </li>
                    </ul>
                    <ul id="Ul4" class="opened">
                        <li class="collapsible"><a href="#" class="collapsible plus">Email Templates</a>
                            <ul id="Ul5" class="collapsed">
                                <li><a href="#">All Email Templates</a></li>
                                <li><a href="#">Add Email Template</a></li>
                            </ul>
                        </li>
                    </ul>
                    <ul id="Ul6" class="opened">
                        <li class="collapsible"><a href="#" class="collapsible plus">City</a>
                            <ul id="Ul7" class="collapsed">
                                <li><a href="#">All Cities</a></li>
                                <li><a href="#">Add City</a></li>
                            </ul>
                        </li>
                    </ul>

这是我的剧本:

$("#menu li a[class~=collapsible]").click(function () {
        var element = $(this);

        if (element.attr("class") == "collapsible plus") {
            element.attr("class", "collapsible minus");
        } else {
            element.attr("class", "collapsible plus");
        }

        var list = element.next();

        if (list.attr("class") == "collapsed") {
            list.attr("class", "expanded");
        } else {
            list.attr("class", "collapsed");
        }
    });

Click here可以直播我的网站,以便您轻松查看脚本未在线直播的问题。

9 个答案:

答案 0 :(得分:2)

由于您的JavaScript文件的全部给出了404错误消息,因此您的所有JS都无法正常工作。你可以在Firebug中看到这个。

答案 1 :(得分:2)

我建议你不要使用相对路径,如:

   ../../resources/scripts/jquery-1.6.4.min.js

只需使用浏览器可访问的Url,如:

yourdomaain.com/resources/scripts/jquery-1.6.4.min.js

或者只是将您的资源放在webroot中。将您的资产(css,js,img)放在webroot之外是没有用的,如果要将它们显示给每个人,那么每个人也必须能够访问每个资产;

答案 2 :(得分:0)

包括http://pakistantransporters.com/resources/scripts/jquery-ui-1.8.16.custom.min.js在内的几乎所有j都显示404未找到。

答案 3 :(得分:0)

这是因为你的很多网址都指向无处(404找不到),包括jQuery引用 - 所以jQuery没有被加载,你的脚本试图使用它,但是ReferenceError: $ is not defined失败了。< / p>

首先,您需要修复路径。

答案 4 :(得分:0)

我想你要么: -

1)未在服务器上上传脚本文件夹。

2)你的javascript文件路径错误。

3)您的脚本文件夹没有读取权限。

答案 5 :(得分:0)

首先将jquery相关版本下载到您的本地,然后使用它。

lick: - xpath / jquery-1.11.1.min.js

答案 6 :(得分:0)

导致此类问题的另一个可能原因是引用#include <stdio.h> int main() { int number; do { printf("Enter a number: "); scanf("%d", &number); printf("Error: number not in range (1-10). Try again: \n"); } while(number == 0.0||number<1||number>10); {printf("you win\n");} return 0; } 托管的HTML文件中的http jQuery JavaScript文件。

错:

https

右:

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

答案 7 :(得分:0)

我不知道这是否是您遇到或使用过的问题,但是在asp.net核心中有 <environment include="Development">在布局内部破坏了我的部署,就在您看到它之前,我想将其写入此处。如果您使用它,请不要忘记它。 您可以查看有关Demo on 3v4l.org的更多信息。

答案 8 :(得分:0)

尝试检查链接是否以“ http”而不是“ https”开头。当在新标签页中打开jquery的链接时,会发生这种情况,将“ https”更改为“ http”