玩WordPress » 技巧方法 » 2009 » 06 » 18 » WordPress的jquery库不起作用?

WordPress的jquery库不起作用?

这个应该不是什么新信息,但我却是现在才搞清楚。

在我制作的多个插件中都是用到了jquery这个便利的javascript库,但让我很郁闷的是,虽然已经调用了jquery,在html代码上也有jquery的链接,但插件中应有的效果却始终不能显示出来。但是改为调用Google AJAX Libraries APIjquery上的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库也能出来效果了。

15 Responses to “WordPress的jquery库不起作用?”

  1. ponytail says:

    啊,我一直都直接用GOOGLE的API的。。。

  2. interjc says:

    多谢了,要是能出个实例就更贴切了。

  3. […] 三个wp_enqueue_script载入Tabs效果中要用到的jQuery库,跟着在后台的底部加上一小段jQuery调用代码(注:这里不能使用$,而用jQuery代替),其中的#wrapper就是上面HTML中的div。 现在的效果: […]

  4. […] 具体原因参加这篇文章,这篇文章。我是个懒人,我要搞的东西实现了。懒得深究为什么。呵呵。右上角的RSS的鼠标划过效果就是个小验证。嘿嘿 […]

  5. […] 三个wp_enqueue_script载入Tabs效果中要用到的jQuery库,跟着在后台的底部加上一小段jQuery调用代码(注:这里不能使用$,而用jQuery代替),其中的#wrapper就是上面HTML中的div。 现在的效果: […]

  6. chancat says:

    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’);
    }

    不就可以了么?

  7. chancat says:

    晕 ,,名字写着呢。。我比较汗,原来你也在这里。中午发那个回复 是从老外一个WP网站上提到一些调用 我搜索进来的 哈哈

  8. Harder says:

    哈哈 原来是这样啊 这个方法帮我解决了一个纠结了一大个下午的问题~~~

    谢谢~~~

  9. Boolfish says:

    我想知道为什么我在一个博客下调用另一个博客的分类,用作导航栏的,为什么下在的代码会失效呢?只能调用该博客下的分类。。
    require(‘../wp-blog-header.php’ );

  10. Leniy says:

    我用的自带的。发现写的jq代码,在首页不能起效果,在别的里面就可以