我正在使用Wordpress网站并从一些简单的sqripts开始:
(function () {
// Flex
if ($(".flexslider").length) {
$('.flexslider').flexslider();
}
})(jQuery);
我也试过
$(function () {
// Flex
if ($(".flexslider").length) {
$('.flexslider').flexslider();
}
});
jQuery正在运行,为什么$
没有被识别?如果我将$
替换为jQuery
,则可以正常使用。
这也不起作用:
jQuery(document).ready(function() {
$('.section_header').click(function(){
alert('test');
});
});
答案 0 :(得分:5)
(function ($) {
// Flex
if ($(".flexslider").length) {
$('.flexslider').flexslider();
}
})(jQuery);
试试这个
顶部参数是用作底部参考的参考
所以例如你可以这样做
(function (somethingHereCool) {
// Flex
if (somethingHereCool(".flexslider").length) {
somethingHereCool('.flexslider').flexslider();
}
})(jQuery);
这种情况发生的原因(主要是在wordpress中)是因为wordpress使用jQuery的$.noConflict()
通过Defualt
所以这基本上意味着$
不再属于jQuery,所以你可以像上面那样做,并重新定义该范围内的$供你使用。你基本上复制jQuery并将其提供给$
答案 1 :(得分:0)
$在jQuery中有不同的含义/功能。我在.jsp文件中制作jQueries时也注意到了这一点。我不确定$的设计是什么,但我在美元的地方使用jQuery
答案 2 :(得分:0)
jQuery还有一个nonConflict选项(参见:http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/)。如果定义了nonConflict,则不会识别$。
编辑:除此之外,如果“jQuery(document).ready(function(){”不起作用,我不认为jQuery实际上是正确链接的(或在你做任何事情之前)。
答案 3 :(得分:0)
以下适用于Wordpress
jQuery(function($) {
//code in here
});
答案 4 :(得分:0)
要添加到Connor said in his answer,基本上您需要将$
作为参数传递给函数,以便将$
用作jQuery
。
默认情况下不是这样的原因是因为jQuery为disable $
提供了一个选项。这主要用于使用不同的JS框架,该框架使用自己的$
变量实现,因此不会产生冲突。
使用$
禁用jQuery。您需要编写以下内容,最好在导入jQuery库后直接编写。在导入任何其他框架之前还应该导入哪个。
jQuery.noConflict();