如何通过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
相关产品推荐
相关产品推荐

