jQuery函数仅在再次包含时才起作用 - 两次(导致其他冲突)

时间:2012-04-23 01:55:47

标签: php jquery jspinclude

我正在使用此jQuery脚本/函数来更改我的选择框的设计http://tutorialzine.com/2010/11/better-select-jquery-css3/

实施并正常工作。我的网站由索引文件构建,该文件包含页面的所有其他部分,通过 php include about,contact等等部分。

问题是,在单独的联系页面(不包括标题,仅包含正文内容)中显示我的样式选择框,如果仅在再次包含jquery时才能使用“样式”在contact.php文件中(已包含在index.php中)。

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

从contact.php中删除后,所有选项都设置为空。如果只有 datePicker 在网站的其他部分停止工作,我认为这是包含jQuery两次的后果,那么这不是什么大问题。

我尝试了各种各样的解决方案,例如检查它是否真的存在:

 if (typeof jQuery == 'undefined') {  
 document.write('<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.js"></script>');
 }

jQuery没有未定义,它没有问题,你甚至可以在浏览源代码时看到它。关于为什么会发生这种情况的任何想法?

3 个答案:

答案 0 :(得分:2)

我在发布这个帖子几天后解决了我的问题。问题是jQuery被包含了三次(因为php包含)。这引起了我最初的问题。当我删除了我认为是第二个和不必要的jquery时,仍有一个太多了。因此,在处理类似错误时请考虑这一点,您可能已经将它包含的次数远远超过您的意识,并且一种解决方案是确保只运行一个jquery包。祝你好运

答案 1 :(得分:0)

使用谷歌的jquery而不是你自己的服务器有时我们的jquery库不能正常工作......

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>

答案 2 :(得分:0)

您是否在

中运行代码
$(function() {
    // Your jQuery code here
});

需要启动jQuery,这会在页面加载时发生。也许你正在尝试做一些在jQuery准备好之前执行的函数?

修改
注意到这一建议将在评论中提及。

您没有将<iframe>用于contact.php,是吗?