Jquery 切换功能在包含 mootools 或 slimbox 脚本的页面上中断
我的朋友被要求查看她的网站,其中使用 slimbox 的页面上存在错误——不相关的 Jquery 切换函数中断——代码如下:
$(function() {
$(".cat_nav dd").hide();
$(".cat_nav dt").click(function() {
$(this).next().toggle();
return false;
});
});
当 slimbox 和 mootools 脚本不存在但具有以下任一脚本时,此代码可以正常工作:这些脚本加载会破坏它 - dt
元素不会隐藏,并且单击它们各自的 dd
不会将它们切换为隐藏。以下是来自 Safari JS 控制台的错误消息:
TypeError: Result of expression '$(".cat_nav dd")' [null] is not an object.
此错误仅出现在加载 slimbox 或 mootools 的页面上,如下所示:
<script type="text/javascript" src="/js/mootools.js" charset="utf-8"></script>
<script type="text/javascript" src="/js/slimbox.js" charset="utf-8"></script>
Is there a way to compose this that is compatible with slimbox?她正在使用 slimbox 在某些使用此功能的页面上显示画廊。
My friend is asked me to look over her site where there is an error on pages that use slimbox-- an unrelated Jquery toggle function breaks— here's the code:
$(function() {
$(".cat_nav dd").hide();
$(".cat_nav dt").click(function() {
$(this).next().toggle();
return false;
});
});
This code works fine when slimbox and mootools scripts are not present, but having either of those scripts load breaks it— the dt
elements are not hidden and clicking on their respective dd
s doesn't toggle them hidden. Here is the error message from Safari's JS console:
TypeError: Result of expression '$(".cat_nav dd")' [null] is not an object.
This error only appears on pages that load slimbox or mootools, like so:
<script type="text/javascript" src="/js/mootools.js" charset="utf-8"></script>
<script type="text/javascript" src="/js/slimbox.js" charset="utf-8"></script>
Is there a way to compose this that is compatible with slimbox? She is using slimbox to display galleries on some pages that use this function.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这篇文章应该有所帮助。基本上,您需要调用
noConflict
并使用jQuery()
来调用 jQuery 函数。This article should help. Basically you need to call
noConflict
and usejQuery()
to call your jQuery functions.出现此错误是因为使用
$(".cat_nav dd")
,您必须使用$$(".cat_nav dd")
,因为$() mootools 中的
函数仅采用元素 id,而不采用 CSS 选择器。This error appears because of using
$(".cat_nav dd")
, you must use$$(".cat_nav dd")
, because the$()
function in mootools only take element id not CSS selector.