我想在<input>
元素中更改名称属性,我在这里有几个名称string[0][]
,现在我想要点击链接后添加更改0
并替换{{ 1}}代替所有1
。 Jquery怎么样?
DEMO: http://jsfiddle.net/2hXk5/
我尽力但不适合我:
0
答案 0 :(得分:0)
如果我理解正确,您希望.attr()
使用回调函数:
$('input[type="checkbox"]').attr('name',function(i,str) {
return str.replace('0','1');
});
更新:这是一个完整版本,可以完成你真正想要的一切。它使用str.match(/\d+/)
提取name
属性中的FIRST数字字符串,将其转换为整数,然后使用str.replace
将其替换为下一个整数。请注意,insertAfter
部分已更新,因此仅在最后div.ch
之后插入:
$(document).on('click change', 'a.adding', function(e) {
e.preventDefault();
$div = $(this).closest('.ch');
$clone = $div.clone().insertAfter($div);
$clone.find('input[type="checkbox"]').attr('name', function(i, str) {
var int = parseInt(str.match(/\d+/)[0],10);
return str.replace(int, (int+1));
});
});