我在一个使用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);
答案 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库。