克隆其中包含文本的字段也会克隆文本?

我有一段克隆三个字段的代码,但是当它克隆了三个字段时,它还克隆了在其中输入的文本,有没有办法在克隆时清除字段内的内容?

$(document).ready(function() { $('#btnAdd').click(function() { var num = $('.clonedSection').length; var newNum = new Number(num + 1); var newSection = $('#clonedSection' + num).clone().attr('id', 'clonedSection' + newNum); newSection.children(':first').children(':first').attr('id', 'name' + newNum).attr('name', 'name' + newNum); newSection.children(':nth-child(2)').children(':first').attr('id', 'age' + newNum).attr('name', 'age' + newNum); newSection.children(':nth-child(3)').children(':first').attr('id', 'school' + newNum).attr('name', 'school' + newNum); $('.clonedSection').last().append(newSection); $('.clonedSection').last().val(ping); $('#btnDel').attr('disabled',''); if (newNum == 2) $('#btnAdd').attr('disabled','disabled'); }); $('#btnDel').click(function() { var num = $('.clonedSection').length; // how many "duplicatable" input fields we currently have $('#clonedSection' + num).remove(); // remove the last element // enable the "add" button $('#btnAdd').attr('disabled',''); // if only one element remains, disable the "remove" button if (num-1 == 1) $('#btnDel').attr('disabled','disabled'); }); $('#btnDel').attr('disabled','disabled'); }); 

Thanx提前!

你在哪里.clone()你可以找到/清除字段,如下所示:

 .clone().find(':text, textarea').val('').end() 

如果你没有元素,你就省略了这一点,它的作用是执行.find()来获取文本元素, .val()来清除它们,然后.end()返回链接使用coned元素,而不是我们正在寻找的文本元素。

或者,替代方案,如果这些行是您的输入:

 newSection.children(....) 

只需在每个.val('')添加一个.val('') ,例如第一个看起来像这样:

 newSection.find('> :first > :first').attr({'id': 'name' + newNum, 'name': 'name' + newNum }).val(''); 

只需使用.attr("value", "")value属性设置为空字符串(我假设您正在讨论 ):

 newSection.children(':first').children(':first').attr('id', 'name' + newNum).attr('name', 'name' + newNum).attr('value', ''); 

您可以像这样清除输入元素:

 newSection.find(':input').val('');