問題描述

  1. 我正在使用 WordPress 網站。

  2. 我將此腳本包含在標題中。

當腳本加載時,我得到這個錯誤:

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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。