这个应该不是什么新信息,但我却是现在才搞清楚。
在我制作的多个插件中都是用到了jquery这个便利的javascript库,但让我很郁闷的是,虽然已经调用了jquery,在html代码上也有jquery的链接,但插件中应有的效果却始终不能显示出来。但是改为调用Google AJAX Libraries API或jquery上的jquery.js都能出来效果。所以插件中我只好用Google AJAX Libraries API来代替了。
这实在不是什么好主意,但当时也是没办法,因为我不知道解决办法。
今天又是在wordpress调用jquery,情况还是如此。无意中打开wordpress中jquery.js,然后对比code.jquery.com中的代码,发现wordpress中的jquery.js最后面是多了一行代码的:
jQuery.noConflict();
看来是这行代码的问题了,查阅jquery上的文档才知道,上面那行代码的意义是:释放jquery中的$变量。从而避免多个javascript库之间的冲突问题。当jquery中要使用到$变量时,可用jQuery来代替。例如:
$(document).ready(function(){
$("p").after("<b>Hello</b>");
});
用下面的代码代替:
jQuery(document).ready(function(){
jQuery("p").after("<b>Hello</b>");
});
OK,现在使用wordpress内核中的jquery库也能出来效果了。
啊,我一直都直接用GOOGLE的API的。。。
因为wordpress默认是使用内置的jquery,如果这时又使用google api就重复载入jquery了。
多谢了,要是能出个实例就更贴切了。
[...] 三个wp_enqueue_script载入Tabs效果中要用到的jQuery库,跟着在后台的底部加上一小段jQuery调用代码(注:这里不能使用$,而用jQuery代替),其中的#wrapper就是上面HTML中的div。 现在的效果: [...]
[...] 具体原因参加这篇文章,这篇文章。我是个懒人,我要搞的东西实现了。懒得深究为什么。呵呵。右上角的RSS的鼠标划过效果就是个小验证。嘿嘿 [...]
[...] 三个wp_enqueue_script载入Tabs效果中要用到的jQuery库,跟着在后台的底部加上一小段jQuery调用代码(注:这里不能使用$,而用jQuery代替),其中的#wrapper就是上面HTML中的div。 现在的效果: [...]
wp自带的jQuery 只要在主题的functions.php 文件 添加
if( !is_admin()){
wp_deregister_script(‘jquery’);
wp_register_script(‘jquery’, (“http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js”), false, ”);
wp_enqueue_script(‘jquery’);
}
不就可以了么?
你舉的例子是調用google服務器上的jquery,如果你在本地測試而且沒有連上網的話就不起作用了。
嗨 原来你是说这个意思。理解错了。。
请问 你是冰古??
哈哈,是啊。
这里是我的另一个blog。
晕 ,,名字写着呢。。我比较汗,原来你也在这里。中午发那个回复 是从老外一个WP网站上提到一些调用 我搜索进来的 哈哈
哈哈 原来是这样啊 这个方法帮我解决了一个纠结了一大个下午的问题~~~
谢谢~~~
哈哈,很高兴能帮到你。