我正在建立一个网站,并且一直在使用一些似乎不起作用的jQuery脚本。但是过了一段时间,我发现我必须链接到我的内容文件中的jQuery库。
我的层次结构如下:
- header.php (common header html)
- link/index.php(其中"link"是域名上的任何子文件夹,即:contact/index.php, home/index.php等)
- footer。php
所有这些内容文件都使用了"require_once("header.php")",对于页脚,模板技术也是如此。
即使在浏览器中查看源代码成功地链接到包含的脚本和CSS文件,它似乎不加载jQuery(只)。但是当我将它包含在特定的内容文件中时,我编写的脚本就可以工作了。
下面是一些相关的代码:
在header。php:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="NO">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type="text/javascript" src="../js/jquery-latest.pack.js"></script>
<script type="text/javascript" src="../js/shl_menu.js"></script>
<script type="text/javascript" src="../js/prototype.js"></script>
<script type="text/javascript" src="../js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="../js/lightbox.js"></script>
In gallery/index.php (content file)
<?php require_once("../header.php"); ?>
<!-- Sub Menu List -->
<nav id="shl-submenu" class="left shadow-box rounded-corners">
<script type="text/javascript">
$(document).ready(function(e)
{
$("#shl-submenu ul li a").click(function(e) {
alert("Click");
});
});
...
现在,如果我在脚本上面包含<script type="text/javascript" src="../js/jquery-latest.pack.js"></script>
,它可以工作,但除非。
任何帮助都将非常感激!谢谢。
正如您所猜测的,jQuery和Prototype之间存在冲突。两者都将$定义为函数。你可以使用变量jQuery
而不是$
来避免这种情况,并在jQuery之后声明prototype。这篇文章解释了一个处理这个问题的好方法:
如何避免JQuery与Prototype之间的冲突