我根据用户点击使用静态编号向页面添加元素。所以元素根据用户点击具有序列号。
当用户点击任何元素并删除时,我需要重新排列序列号。我尝试使用while循环的每个运算符,但不工作。
任何人都建议我正确的方式pelase。
这是我的尝试:
var num = this.clipsLength, clipNum=1;
while(this.clipsLength > 0){
$.each(this.collection.pages, function(index, page) {
$.each(page, function(n, cs) {
var title = $(cs).find('span.text');
title.html('Clipping' + clipNum); //always 0 or all clips are '0'
});
});
--this.clipsLength;
clipNum = num-this.clipsLength;
}
这里的尝试是小提琴:
答案 0 :(得分:2)
你的意思是重置数字吗?
http://jsfiddle.net/Lgwow5pt/2/
$('#content').on('click', '.remove', function () {
$(this).parent().remove();
$('span').each(function(i, item){
item.lastChild.textContent = i+1;
});
答案 1 :(得分:1)
试试这个
var htmlT = '<span><a href="#" class="remove">x</a></span>';
i=1;
$('#content').on('click', '.remove', function () {
$(this).parent().remove();
i = 1;
$('#content span').each(function() {
$(this).html('<a class="remove" href="#">x</a>'+i);
i++;
});
})
$('.add').click(function () {
$('#content').append($(htmlT).append(i));
i++;
});
答案 2 :(得分:0)
这里有效
我修改了你的小提琴。
http://jsfiddle.net/khaleel/Lgwow5pt/7/
$('#content').on('click', '.remove', function () {
$(this).parent().remove();
var l= $("#content").find('span').length;
$('#content').empty();
i=1;
for(var j=0;j<l;j++){
$('#content').append($(htmlT).append(i));
i++;
}
})
希望您接受解决方案
答案 3 :(得分:0)
嗯..根据你的小提琴,我试图解决这个问题。希望这会有所帮助。
使用以下内容更改.remove上的click事件:
$('#content').on('click', '.remove', function () {
j=i-2;
i=1;
$(this).parent().remove();
$("#content").html("");
for(k=0;k<j;k++)
$('.add').trigger('click');
})