我试图在每个id的td之后在一个表中归一个数字。 我需要id保持不变,但每次克隆一个表时,每个ID后面都会设置一个新的数字。
这是一个小提琴,应该有助于理解我的问题。
.find('td').attr('id', '_'+ newNum)
新ID应该如下所示
id="td01_2"
答案 0 :(得分:4)
变化:
newElem.find('td').attr('id', '_'+ newNum);
为:
newElem.find('td').attr('id', function () {
return this.id + '_' + newNum
});
<强> jsFiddle example 强>
这将通过获取现有的克隆ID(例如:td01
)并添加_
和newNum
,为克隆的td提供正确的新ID。
例如:
<tr>
<td id="td01_2">td 01</td>
<td id="td02_2">td 02</td>
<td id="td03_2">td 03</td>
<td id="td04_2">td 04</td>
<td id="td05_2">td 05</td>
</tr>
答案 1 :(得分:0)
我添加了一个全局计数器var tdNum。然后将其附加到id。
$(document).ready(function () {
var tdNum=0;
$('#add_button').click(function () {
var num = $('.datatable_class').length;
var newNum = num + 1;
tdNum++;
var newElem = $('#input1').clone().attr('id', 'input' + newNum).removeClass('HiddenInput').addClass('.NewInputs').fadeIn( 1000 );
newElem.find('td').attr('id', 'td'+tdNum+'_'+ newNum);
$('#input' + num).after(newElem);
});
});