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

如何通过jQuery从选中的表单元素对象集合中提取id属性

嘿,我来帮你搞定这个问题!你现在需要从:input选中的元素集合里提取每个元素的id属性,而不是输出整个元素对象,对吧?看下面的解决方案:

提取input元素的id属性数组

你的原代码里,$write是包含所有input类元素的jQuery对象集合,要从中抽取出每个元素的id值,用jQuery的.map()方法就能轻松实现,再配合.get()转成普通数组就可以了。

修改后的完整代码

// 绑定点击事件并获取元素集合
var $write = $(':input').on('click', function(){ 
    var id = this.id; 
    shift = false; 
    capslock = false; 
});

// 提取所有元素的id到数组
var idArray = $write.map(function() {
    // 返回当前元素的id,没有id的话返回null(也可以改成空字符串,按需调整)
    return this.id || null;
}).get(); // 将jQuery对象转换为普通JS数组

// 现在控制台输出的就是纯粹的id数组了
console.log(idArray);

关键代码解释

  • .map():遍历$write里的每一个元素,执行回调函数并收集返回的id值,生成一个新的jQuery对象。
  • .get():把jQuery封装的对象转换成普通的JavaScript数组,这样控制台就不会输出元素对象,而是你需要的id字符串集合。
  • 另外,原代码里的var str = new Array(); temp = str.split(" : ");这段和提取id的需求无关,完全可以删掉哦。

预期控制台输出(对应你提供的元素)

["", "country", "itemNo_1", "itemNo_2", "itemNo_3", "", "", "", "", ...]

(空字符串对应那些没有设置id属性的元素,比如第一个button和后面的几个input)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:57:58