問題描述
-
我正在使用 WordPress 網站。
-
我將此腳本包含在標題中。
當腳本加載時,我得到這個錯誤:
TypeError: ‘undefined’ is not a function (evaluating ‘$(document)’)
我不知道是什麼造成的,甚至是什麼意思。
在 firebug,我得到這個:
$ is not a function
最佳解決方案
WordPress 默認使用 noConflict 模式中的 jQuery 。您需要使用 jQuery 作為變量名稱引用,而不是 $。使用
jQuery(document);
代替
$(document);
您可以輕鬆地將其包裝在自行執行的功能中,以便 $再次引用 jQuery(並避免污染全局命名空間),例如。
(function ($) {
$(document);
}(jQuery));
次佳解決方案
使用 jQuery 的 noConflict 。它對我來説是奇蹟
var example=jQuery.noConflict();
example(function(){
example('div#rift_connect').click(function(){
example('span#resultado').text("Hello, dude!");
});
});
也就是説,假設您在 HTML 中包含 jQuery
<script language="javascript" type="text/javascript" src="https://googleajax.admincdn.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
第三種解決方案
用這個:
var $ =jQuery.noConflict();
第四種方案
嘗試此片段:
jQuery(function($) {
// Your code.
})
它為我工作,也許它會幫助你。
第五種方案
我只在 Chrome 上出現這個問題。
我試過加入
var $ =jQuery.noConflict();
在打電話之前
$(document).ready(function () {
有效。
非常感謝
第六種方案
還要檢查是否包含 jQuery,然後是一些組件/其他庫 (如 jQuery UI),然後再次意外地包含 jQuery – 這將重新定義 jQuery 並將組件助手 (如.datepicker) 放在實例之外。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。