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

jQuery如何传入id文本参数实现DOM元素的间接选择操作

jQuery传入id文本间接选中DOM元素的实现方案

核心逻辑很简单:jQuery的ID选择器规则是#拼接id字符串,你只要把传入的id参数拼成合法的选择器,传入jQuery构造函数就能得到对应的jQuery对象,也就是你代码里要的$x。

基础实现

如果传入函数的elname是不带#前缀的纯id值(比如传入"submitBtn"对应id为submitBtn的元素),直接拼接选择器即可:

function doit(elname) {
  // 生成对应元素的jQuery对象
  const $x = $(`#${elname}`);
  // 后续可以正常调用所有jQuery方法,举个实际使用的例子
  $x.attr("disabled", true);
}

// 调用示例:操作id为username的元素
doit("username");

如果传入的参数本身已经带了#前缀(比如传入"#submitBtn"),那不需要额外拼接,直接写const $x = $(elname)即可。

兼容特殊id的稳妥写法

如果你的id里可能包含.、:、[这类jQuery选择器的保留特殊字符,直接拼接会导致选择器解析错误,这时候用jQuery自带的$.escapeSelector()方法转义id即可:

function doit(elname) {
  const $x = $(`#${$.escapeSelector(elname)}`);
  $x.attr();
}

比如id为user.input的元素,不转义的话jQuery会把它识别成「id为user的元素下class为input的后代元素」,转义后就能精准匹配到id本身。

你之前见过的$x写法本质就是缓存选中的jQuery对象,和直接写$('#xxx').attr()的效果完全一致,把选择器里的id部分抽成函数参数传入,就实现了间接选择的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 00:57:25