Javascript 在外部文件中用选择器分离JQuery脚本不起作用?

Javascript 在外部文件中用选择器分离JQuery脚本不起作用?,javascript,jquery,Javascript,Jquery,我有一个JQuery选择器和一个与之关联的事件。我想把它保存在外部文件中,然后直接复制并保存它。我看到的是,具有选择器的外部JavaScript无法工作。有人能解释一下原因吗 注意:我可以在我的HTML文件中使用相同的函数,但是当外部化它时。它就是不起作用。 我的剧本如下:- $('#pervious').click(function() { var presentSlide = $('.visible').attr('id'); var tempArr = p

我有一个JQuery选择器和一个与之关联的事件。我想把它保存在外部文件中,然后直接复制并保存它。我看到的是,具有选择器的外部JavaScript无法工作。有人能解释一下原因吗

注意:我可以在我的HTML文件中使用相同的函数,但是当外部化它时。它就是不起作用。 我的剧本如下:-

 $('#pervious').click(function() {
        var presentSlide = $('.visible').attr('id');
        var tempArr = presentSlide.split("-");
        var persentSlideNo = tempArr[1];
        var perviousSlideNo = Number(persentSlideNo) - 1; if (perviousSlideNo > -1) 
        {
        var perviousSlide = "Slide-" + perviousSlideNo;

            $('#' + presentSlide).fadeOut('slow',function(){
            $(this).removeClass('visible').addClass('hidden');
            });
            $('#' + perviousSlide).fadeIn('slow',function(){
            $(this).removeClass('hidden').addClass('visible');
            });
        }

    });

你是如何包括这个脚本的

请注意,它需要位于
id=pervious
元素的定义之下,或者需要位于它之后(例如
document.ready
),否则该元素将不存在,也不会有任何可绑定的内容

更新 要重申,它需要在创建
pervious
元素之后执行。将它放在外部文档中可能会导致它在创建
pervious
HTML元素之前执行,因此它不起作用。你可以把它放在一个外部文件中,当然,只要确保元素被加载,例如

$(document).ready(function() {
    $.getScript('http://yoursite.com/extrascript.js');
});

在通过执行警报确定您实际上是在链接到它之后,请按如下方式包装代码:

$(function(){
    // place your code inside here for ready event
});

您要做的是在文档准备就绪之前运行选择器。选择器在dom出现之前运行,选择器中没有结果,因此您不附加任何内容。

您必须包含以下形式的脚本:(包括闭包标记本身)


并非所有这些:

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

窗体或它不会始终正确呈现,因此无法执行


当然,由于您使用的是jQuery,您应该将代码放在jQuery库链接之后,并像其他人所演示的那样将代码包含在文档中。

相同的脚本是我用
函数perviousSlide()替换的({var presentSlide=$('.visible').attr('id');var tempArr=presentSlide.split(“-”);var percentslideno=tempArr[1];var perviousSlideNo=Number(percentslideno)-1;//这样最后一张幻灯片就进入了if条件。/Some Code Here/}给出了onClick事件的正确信息。那么你能告诉我上面的问题是什么吗在外部脚本的开头是否会弹出?它链接正确吗?我已经将它放在一个外部javaScript中。在文件外。准备好了。这是我将其放入document.ready的示例,它运行良好。我可以得到一些文件来更好地理解这一点吗?我在文件之外写了一些东西。准备好了吗(请告诉我是否有在线文档,以便我可以参考?@Shiv:特别是看看官方的jQuery教程,当然还有更详细地描述所有方法的文档。另外,“pervious”应该是“previous”,因为“pervious”听起来像是变态的倾向:)是的,这始终是个秘密问题!谢谢你。
<script src="myexternal.js" type="text/javascript" />
<script src="myexternal.js" />
<script src="myexternal.js" ></script>