为什么从 JSFiddle 复制的代码会抛出错误“$ is not a function”(“Dollar is not a function”)?

时间:2021-03-15 08:33:42

标签: javascript

此 JavaScript 代码在浏览器控制台中出错:

<块引用>

未捕获的类型错误:$ 不是函数
在 window.call1 ((index):309)
在 SVGGElement.onclick ((index):535)

但是it runs in JS Fiddle

你看出哪里出了问题吗?

var count = 1;
window.call1 = function() {
  const button = $("#icon1 path");
  console.log(count);
  count = count % 2 + 1;
  switch (count) {
    case 1:
      button.css("fill", "white");
      break;
    case 2:
      button.css("fill", "yellow");
      break;
    case 3:
      button.css("fill", "white");
      break;
  }
}

window.call1();

1 个答案:

答案 0 :(得分:2)

您还没有定义 $ 函数,该函数最常用于分配 jQuery 库,但偶尔也有其他值。

您从中复制代码的站点加载了 jQuery 库。请参阅 the jQuery website 以获取最新版本。

考虑将代码重写为not use the library;浏览器提供的原生 API 的改进削弱了它的大部分优势。