您的位置:首页 > Web前端 > JQuery

jquery(javascript)自动序列编号和属性编号实现代码

2012-07-07 00:00 786 查看
自动序列编号和自动属性编号,效果图如下:



实现原理:
添加和删除是逆向过程,实现是一致的。
增加时,向父容器中增加元素append方法,并将所有的自定义属性编号和序列编号设置为空,然后通过$.each方法,重新为自定义属性编号和序列编号赋值。
$.each(items, function (k, v) { 
$(this).attr("opt", "mopt" + k); 
serials.eq(k).html(k); 
});

删除时,为所有删除按钮绑定事件live方法,将元素从父容器中删除detach方法,并将所有的自定义属性编号和序列编号设置为空,然后通过$.each方法,重新为自定义属性编号和序列编号赋值。
$("#test .del").live("click", function () { //为删除按钮绑定点击事件 
var dels = test.find(".del"); //所有所删除按钮 
var delnum = dels.index($(this)); //当前删除按钮的索引值 
var items = test.find(".item"); 
items.eq(delnum).detach(); //从父容器中将此节点删除 
items.attr("opt", ""); 
var serials = test.find(".serial"); 
serials.html(""); 
$.each(items, function (k, v) { //自定义属性重新和编号赋值 
$(this).attr("opt", "mopt" + k); 
serials.eq(k).html(k); 
}); 
});

示例如下:




each和live实现自动编号


*{margin: 0px;padding: 0px;}
.cont{width:600px; margin:60px auto 0px;}
#test .item{padding: 10px 6px;border-bottom: 1px solid #666666;}
#test .serial{margin-right: 20px;}
#test .del{padding: 6px;margin-left: 30px;}








$(function () {
var num = 1;
var test = $("#test");
$("#btn").click(function () {
test.append("aaaaa" + num + "删除");
var items = test.find(".item");
var serials = test.find(".serial");
items.attr("opt", "");
serials.html("");$.each(items, function (k, v) { $(this).attr("opt", "mopt" + k); serials.eq(k).html(k); });num++;
});

$("#test .del").live("click", function () {
var dels = test.find(".del");
var delnum = dels.index($(this));
var items = test.find(".item");
items.eq(delnum).detach();
items.attr("opt", "");
var serials = test.find(".serial");
serials.html("");$.each(items, function (k, v) { $(this).attr("opt", "mopt" + k); serials.eq(k).html(k); });});
});



[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: