如何使用jQuery移除input标签name属性中的[full_name]片段
实现方案
方案1:通用移除所有name末尾的[]包裹内容
不管[]中是什么字符,都可以自动移除,适配性更强:
$('input[name^="abcxyz["]').attr('name', function(index, oldName) { // 正则匹配末尾所有[xxx]格式的内容,替换为空 return oldName.replace(/\[.*\]$/, ''); });
方案2:精准仅移除[full_name]后缀
如果只需要处理带[full_name]后缀的input,不会影响其他带[]的元素:
// 选择器匹配name以[full_name]结尾的input元素 $('input[name$="[full_name]"]').attr('name', function(index, oldName) { return oldName.replace('[full_name]', ''); });
代码说明
- 选择器用了jQuery的属性匹配规则:
^=匹配属性开头内容,$=匹配属性结尾内容,避免误修改其他不相关的input元素 - 调用
attr()方法时传入回调函数,可以直接拿到原属性值做修改,不需要单独获取再赋值,写法更简洁
内容的提问来源于stack exchange,提问作者Thành Nam Nguyễn
相关产品推荐
相关产品推荐

