jQuery包含在文件中,如下所示:
wp_enqueue_script("jquery");
我有一个看起来像这样的jQuery文件:
$(function() {
alert("j");
$('.event-wrapper a').click(function(){
event.preventDefault();
if($(this).next().is(':visible')) {
$(this).next().hide();
} else {
$('.event-info').hide();
$(this).next().show();
}
});
$('.event-info').click(function() {
$(this).hide();
});
});
这不起作用。我试过只放警报(“j”);在文件中,这样可以正确包含文件。我该如何解决这个问题?
答案 0 :(得分:4)
Wordpress使用jQuery.noConflict自动调用jQuery,这意味着$被删除以避免命名空间冲突。在Wordpress中使用jQuery时,应始终使用jQuery而不是$。
例如:
jQuery(document).ready(function() {
});
为了获得$ back,您可以使用此处描述的快捷方式(以及其他答案):http://docs.jquery.com/Using_jQuery_with_Other_Libraries
答案 1 :(得分:0)
我不确定你要做什么,但你的jQuery主函数应该这样开始:
$(document).ready(function () {
//your jquery code should go here
});
如果您正在尝试创建一个可以在html元素上调用的jquery函数,它应该声明为:
(function ($) {
$.fn.myFunc = function (options) {
//Your code goes here
}
})(jQuery);
将直接在javascript中从对象调用:
$('#SomeHtmlElementID').myFunc(myArgs);
此外,无论是否使用jQuery,您的警报都将起作用,因为它是一个javascript函数,而不是jQuery独有的函数。
答案 2 :(得分:0)
由于@Calle指定的原因,这应该对你有用,所以jQuery作为$
传入,后续使用应该正常工作。
(function($){ $(function(){
// Your code here...
}) })(jQuery);
答案 3 :(得分:0)
jQuery(document).ready(function($) {
// Here you can use $ as normal
});