You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:自定义jQuery插件出现Expected an assignment or function call错误

解决jQuery自定义插件的"Expected an assignment or function call and instead saw an expression"错误

错误原因

  1. 未执行立即执行函数(IIFE):你定义了包裹插件的IIFE,但仅完成函数定义(function($){...}),没有添加执行调用(jQuery),导致这个函数变成未被调用的孤立表达式,触发代码检查工具的错误提示。
  2. 插件逻辑不符合jQuery设计规范:直接使用$(".move")会固定操作所有.move元素,而非调用插件的目标元素,违背了jQuery插件基于选中元素集合的设计逻辑。

修正后的代码

(function ($) {
  $.fn.moveAnimate = function () {
    // 用this指代调用插件的元素集合,返回结果保持链式调用
    return this.animate(
      {
        position: "absolute",
        left: "150px"
      },
      1000
    );
  };
// 传入jQuery并执行IIFE,解决表达式错误
})(jQuery);

关键修正点

  • 末尾添加(jQuery):让IIFE立即执行,将jQuery作为参数传入,既避免全局变量污染,也直接解决了表达式错误。
  • 替换$(".move")为this:this指向调用.moveAnimate()的jQuery元素集合,比如$(".my-element").moveAnimate()就会操作.my-element元素。
  • 返回this.animate()的结果:保持jQuery的链式调用特性,允许后续继续调用其他jQuery方法。

内容的提问来源于stack exchange,提问作者bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 00:43:21