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

兼容模式下jQuery 3.2.1生成的选择器传入函数后是否仍对应原版本

结论

你完全不用担心版本混用问题:只要jQuerySelectorItem是通过$jq_321选择器生成的,它调用的所有方法(包括你标注行用到的attr、后续用到的is)都会使用3.2.1版本的jQuery,和页面原有1.4.2版本没有任何冲突。你当前的代码写法完全正确。

原理说明
  • 每个jQuery版本加载后,都会生成独立的构造函数和原型链(即jQuery.fn),调用对应版本的工厂函数(此处就是你声明的$jq_321)返回的jQuery对象,原型链固定指向当前版本的fn,和全局的jQuery/$变量没有绑定关系。
  • 你调用jQuery.noConflict(true)的作用只是把全局作用域下的jQuery和$变量还原为加载3.2.1之前的值,不会修改已经生成的jQuery对象的原型链指向。
验证方法

你可以在toggleFunction第一行添加一行日志直接确认传入对象绑定的jQuery版本:

console.log(jQuerySelectorItem.jquery) // 执行后会输出3.2.1
注意事项

只有当你传入的jQuerySelectorItem是页面原有1.4.2版本的jQuery/$生成的对象时,才会调用旧版本的方法。只要你在代码中生成选择器对象统一使用$jq_321,就不会出现版本混用问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:09:04