jQuery函数仅在再次包含时有效 - 两次(导致其他冲突)


jQuery function only works when included again - twice (causing other conflicts)

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

它已实现并正常工作。我的网站是由一个索引文件建立的,该文件通过 php 包括页面的所有其他部分,包括:关于、联系等部分。

但问题是,在显示我的样式选择框的单独联系页面(不包括标题,仅包含正文内容)中,"样式"(如果您仅在jquery再次直接包含在联系人.php文件中时才起作用(已包含在index.php中)。

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

从联系人.php中删除后,所有选择选项项都设置为 null。如果只有网站另一部分的 datePicker 没有停止工作,这不会有太大问题,因为我认为这是包含 jQuery 两次的结果。

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

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

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

我在发布此内容几天后解决了我的问题。问题是jQuery总共被包含了三次(因为php include)。这导致了我最初的问题。当我删除我认为是第二个也是不必要的jquery时,仍然有一个太多了。因此,在处理类似错误时请考虑这一点,您可能包含它的次数比您意识到的要多得多,一种解决方案是真正确保只有一个 jquery 包含正在运行。祝你好运

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

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

您是否在内部运行代码

$(function() {
    // Your jQuery code here
});

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

编辑:
注意到此建议将在评论中提及。

你不是用<iframe>联系.php,是吗?