我已使用appendTo()
创建了添加文字字段。
.remove()
功能也正常。
这是我的代码:
<div id="add_words">
<a id="add">Add</a>
<a href="#" class="reset">Reset</a>
<div class="line">Word <input class="input1" type="text" /></div>
</div>
$(document).ready(function() {
var scntDiv = $('#add_words');
var wordscount = 1;
var i = $('.line').size() + 1;
// Add new input field while keyup
$("#add_words").on("keyup", "input[type='text']", function(e) {
if ($(this).attr("data-isused") != "true") {
$(this).attr("data-isused", "true");
wordscount++;
$('<div id="em_in" class="line" style="display:none">Word ' + wordscount + '<input type="text" class="input' + wordscount + '" value="' + wordscount + '" /><a class="remScnt">Remove</a></div>').appendTo(scntDiv).slideDown(1000);
i++
return false;
}
});
// Remove button
$('#add_words').on('click', '.remScnt', function() {
if (i > 1) {
$(this).parent().remove();
i--;
}
return false;
});
});
这些工作正常。
我想为<a href="#" class="reset">Reset</a>
链接添加重置功能
我尝试过父母和其他一些方式:
$('a.reset').click(function() {
while (i > 2) {
$('.line').remove();
i--;
}
});
不幸的是我还没有找到解决方案。
答案 0 :(得分:2)
是的,不确定你要去做什么,但是如果你想要选择所有一组元素,除了这些元素的子集,你可以使用.not()函数,并使用任何选择器。 ..
$('.line').not(':first').remove();
或......
$('.line').not('#this_id').remove();
答案 1 :(得分:1)
这个怎么样:
$('a.reset').click(function() {
$('.line').slice(1).remove(); // select all lines but first one for removal... then remove them
});
答案 2 :(得分:1)
您不需要while循环并使用:gt(0)
伪选择器来选择索引大于0的元素。
$('a.reset').click(function() {
$('.line:gt(0)').remove();
});
参考: :gt()