TypeError:$不是jQuery函数的函数

时间:2016-10-05 20:02:41

标签: jquery ajax

我在一个使用jQuery包装器的WordPress插件中有一个简单的jQuery脚本:

$("#myForm").submit(function(e){

    e.preventDefault();

    if ($('input[name="username"]').val() == "" || $('input[name="password"]').val() == "") 

        $("#NotesArea").html("Please enter both Username and Passnumber");

    else

        $.post($(this).attr("action"), $(this).serialize())

              .done(function(data)              { $("#NotesArea").html(data); })

              .fail(function(jqXHR, textStatus) {alert( "Request failed: " + textStatus );});

});

我在WordPress仪表板中调用此脚本,我总是遇到此错误:

  

未捕获的TypeError:$不是函数

好吧,我这样做了,没有错误,但代码不起作用!

(function($){
$("#myForm").submit(function(e){

    e.preventDefault();

    if ($('input[name="username"]').val() == "" || $('input[name="password"]').val() == "") 

        $("#NotesArea").html("Please enter both Username and Passnumber");

    else

        $.post($(this).attr("action"), $(this).serialize())

              .done(function(data)              { $("#NotesArea").html(data); })

              .fail(function(jqXHR, textStatus) {alert( "Request failed: " + textStatus );});

});
})(jQuery);

3 个答案:

答案 0 :(得分:3)

Wordpress使用noConflict删除$别名

将您的代码包装在以下IIFE中,然后您可以继续使用其中的$

(function($){
  /* your code*/

})(jQuery);

答案 1 :(得分:2)

jQuery处于兼容模式,使用“jQuery”而不是“$”。

https://premium.wpmudev.org/blog/adding-jquery-scripts-wordpress/

答案 2 :(得分:1)

确保在脚本之前调用jquery库。