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