javascript自動序列編號和屬性編號

來源:互聯網
上載者:User

自動序列編號和自動屬性編號,如下:

實現原理:
添加和刪除是逆向過程,實現是一致的。
增加時,向父容器中增加元素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);    });});

樣本如下:

<!DOCTYPE html><br /><html><br /><head><br /> <title>each和live實現自動編號</title><br /> <script type="text/javascript" src="http://files.cnblogs.com/kuikui/jquery.js"></script><br /> <style type="text/css"><br /> *{margin: 0px;padding: 0px;}<br /> .cont{width:600px; margin:60px auto 0px;}<br /> #test .item{padding: 10px 6px;border-bottom: 1px solid #666666;}<br /> #test .serial{margin-right: 20px;}<br /> #test .del{padding: 6px;margin-left: 30px;}<br /> </style><br /></head><br /><body><br /> <div class="cont"><br /> <input id="btn" type="button" value="增加" /><br /> <div id="test"></div><br /> </div><br /> <script type="text/javascript"><br /> $(function () {<br /> var num = 1;<br /> var test = $("#test");<br /> $("#btn").click(function () {<br /> test.append("<div class='item'><span class='serial'></span>aaaaa" + num + "<a class='del'>刪除</a></div>");<br /> var items = test.find(".item");<br /> var serials = test.find(".serial");<br /> items.attr("opt", "");<br /> serials.html("");<br /> $.each(items, function (k, v) {<br /> $(this).attr("opt", "mopt" + k);<br /> serials.eq(k).html(k);<br /> });<br /> num++;<br /> });</p><p> $("#test .del").live("click", function () {<br /> var dels = test.find(".del");<br /> var delnum = dels.index($(this));<br /> var items = test.find(".item");<br /> items.eq(delnum).detach();<br /> items.attr("opt", "");<br /> var serials = test.find(".serial");<br /> serials.html("");<br /> $.each(items, function (k, v) {<br /> $(this).attr("opt", "mopt" + k);<br /> serials.eq(k).html(k);<br /> });<br /> });<br /> });<br /> </script><br /></body><br /></html></p><p>

運行代碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.