您好,登錄后才能下訂單哦!
背景
表單字段,配置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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。