jQuery批量修改Name值,批量增加name后缀,非each(不需要循环)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery批量修改Name值,批量增加name后缀,非each(不需要循环)相关的知识,希望对你有一定的参考价值。

背景

表单字段,配置where属性自动刷新到可查询区域,查询字段需增加_where后缀,响应后台规则


问题

批量设置的查询字段,必须批量增加_where后缀方可正常查询。each循环有点麻烦,有没有更方便的批量修改方法。


调查

方向就是jquery批量修改name,整个互联网充斥的都是.attr("name","new_value")。只有单值修改,最终,发现这篇系统性文章

Jquery attr()方法 属性赋值和属性获取

jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式。

1. attr(属性名      //获取属性的值(取得第一个匹配元素的属性值。通过这个方法可以方便地从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回 undefined )

 

 

2. attr(属性名, 属性值)   //设置属性的值 (为所有匹配的元素设置一个属性值。)

 

 

3. attr(属性名,函数值    //设置属性的函数值  (为所有匹配的元素设置一个计算的属性值。不提供值,而是提供一个函数,由这个函数计算的值作为属性值。)

 

4.attr(properties)    //给指定元素设置多个属性值,即:{属性名一: “属性值一” , 属性名二: “属性值二” , … … }。(这是一种在所有匹配元素中批量设置很多属性的最佳方式。 注意,如果你要设置对象的class属性,你必须使用‘className‘ 作为属性名。或者你可以直接使用‘class‘或者‘id‘。)

引用

方案

使用的就是3号方案,源码如下

// 注意3号方案的函数形式,即each循环的代码
$("input[where]").attr("name",function(){return this.name+"_where"});


总结

完美解决,省掉each循环代码块,看着高大上

技术分享


2017-09-18 15:25

沫沫金

于 西安 汇鑫IBC

本文出自 “沫沫金的IT心得与技巧” 博客,请务必保留此出处http://zl0828.blog.51cto.com/2242565/1966363

以上是关于jQuery批量修改Name值,批量增加name后缀,非each(不需要循环)的主要内容,如果未能解决你的问题,请参考以下文章

如何批量删除mysql某个字段的某个值?

ansible-批量修改主机名

将文件夹名称批量修改为指定名称

如何用python批量修改文件名(前缀)

格式化输出IIS绑定格式和批量解析域名

批量更改文件名