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

如何简化jQuery中多次调用hide()方法的代码?

简化方案

首先,你的函数里function hello(this)的this参数是多余的(代码里没用到),可以直接去掉。下面给你几种精简代码的实用方式:

方式1:多选择器合并(精准匹配,最直接)

把所有需要隐藏的元素ID用逗号分隔,一次性调用hide()方法,避免重复调用:

function hello() {
  $("#fgCode_span, #sfgCode_span, #plant_span, #fgCode_span2, #sfgCode_span2, #plant_span2").hide();
}

方式2:属性选择器(适配ID规律)

观察你的元素ID有明显规律:要么前缀是fgCode_/sfgCode_/plant_,要么结尾是_span/_span2,可以用属性选择器批量选中:

按前缀匹配

function hello() {
  $("[id^='fgCode_'], [id^='sfgCode_'], [id^='plant_']").hide();
}

这个方法会选中所有ID以指定前缀开头的元素,完全贴合你的命名规则。

按结尾匹配

function hello() {
  $("[id$='_span'], [id$='_span2']").hide();
}

注意:如果页面上还有其他以_span或_span2结尾的无关元素,这个方法会误隐藏它们,需确保仅针对目标元素使用。

方式3:统一添加类名(扩展性最优)

如果后续可能新增类似需要隐藏的元素,最推荐给所有目标元素加同一个类(比如hide-target):

<!-- 给所有需要隐藏的元素添加类 -->
<span id="fgCode_span" class="hide-target">...</span>
<span id="sfgCode_span" class="hide-target">...</span>
<!-- 其他元素同理 -->

然后JS代码可以简化成:

function hello() {
  $(".hide-target").hide();
}

后续新增元素只需加类即可,不用修改JS代码,维护成本最低。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 13:24:21