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

$('.myclass').show().addClass('selected')含义及show()后调用addClass的原因

代码含义与链式调用原理说明

1. $('.myclass').show().addClass('selected')的含义

这是典型的jQuery链式调用写法,执行逻辑依次为:

  • 先用$('.myclass')选中页面上所有带有myclass类名的DOM元素,得到jQuery包装对象
  • 调用show()方法,把选中的所有元素设置为可见状态(一般是把元素的displayCSS属性恢复为它原本的可见值,比如block、inline等)
  • 最后调用addClass('selected'),给已经显示的这批元素新增selected类名,后续可以通过这个类名控制选中态样式,或者做其他逻辑判断

2. 链式调用的实现逻辑

几乎所有jQuery的操作类方法默认都支持链式调用,你没在文档里看到show()的返回值说明,不代表它没有返回值:
只要不是用于读取数据的getter类方法(比如.val()取输入框内容、.text()取元素文本、.attr()取属性值这类需要返回业务数据的方法),其他所有修改类的方法,执行完都会把当前的jQuery包装对象本身作为返回值返回。
所以你调用show()之后拿到的还是最开始选中的那批元素的jQuery对象,当然可以直接在这个返回值上继续调用属于jQuery实例的addClass()方法,不用重复写选择器查询DOM,既简化代码也能降低性能开销。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:27:03