注册

升级WordPress后,Jquery兼容问题解决方法


jQuery是一个非常流行的javascript库,WordPress集成了jQuery,为了兼容其它的js库,WordPress集成jQuery的时候使用了jQuery的noConflict模式,把jQuery的变量`$`释放出来了。也就是说,不经过任何处理,直接在WordPress中用这样的写法写jQuery代码是不行的。

$("#some-element").addClass("some-class");

经常会有朋友在往WordPress主题中添加jQuery代码时会遇到这样的错误:`Uncaught TypeError: undefined is not a function `,就是因为没有jQuery的`$`变量。其实解决起来也简单,只需要把jQuery代码中的`$`修改成`jQuery`就可以了。如下:

jQuery("#some-element").addClass("some-class");

如果jQuery代码比较少,这样修改一下不是什么问题,可是如果代码很多的话,这样写起来会很累,有没有办法能在WordPress中像正常写jQuery代码的方法写jQuery代码呢?办法总是有的。

在WordPress中正常使用jQuery的几种方法

1、添加$变量

既然WordPress把`$`释放出来了,我们把jQuery重新赋给`$`就行了,如下,在wp_head之后添加以下一段代码即可。

var $ = jQuery.noConflict();

2、使用匿名函数

首先定义匿名函数,设置形参为`$`,然后执行函数传递实参给jQuery

(function($){
$("#some-element").addClass("some-class");
})(jQuery);

3、使用jQuery设置加载页面时执行的函数

jQuery(document).ready(function($){
$("#some-element").addClass("some-class");
});

切换注册

登 录

忘记密码 ?

切换登录

注 册