列表增删改案例:附图

你的名字 2022-04-23 15:24 247阅读 0赞

在这里插入图片描述

  1. 代码:
  2. A.HTML
  3. <div class="box">
  4. <ul class="list" id="list">
  5. <li>苹果<span class="del">删除</span><span class="update">修改</span></li>
  6. <li>香蕉<span class="del">删除</span><span class="update">修改</span></li>
  7. <li>橘子<span class="del">删除</span><span class="update">修改</span></li>
  8. <li>芒果<span class="del">删除</span><span class="update">修改</span></li>
  9. <li>西瓜<span class="del">删除</span><span class="update">修改</span></li>
  10. <li>榴莲<span class="del">删除</span><span class="update">修改</span></li>
  11. </ul>
  12. <div class="addBtn" id="addBtn">添加一项</div>
  13. </div>
  14. B.CSS
  15. <style>
  16. *{
  17. margin: 0;
  18. padding: 0;
  19. }
  20. .box{
  21. width: 300px;
  22. margin: 0 auto;
  23. }
  24. .list{
  25. list-style: none;
  26. }
  27. .list li{
  28. height: 40px;
  29. line-height: 40px;
  30. border: 1px solid gray;
  31. margin-top: 10px;
  32. padding: 0 20px;
  33. }
  34. .list li span{
  35. display: inline-block;
  36. width: 60px;
  37. text-align: center;
  38. height: 20px;
  39. line-height: 20px;
  40. color: #fff;
  41. float: right;
  42. margin-top: 10px;
  43. }
  44. .list li .update{
  45. background: orange;
  46. }
  47. .list li .del{
  48. background: red;
  49. margin-left: 10px;
  50. }
  51. .addBtn{
  52. height: 40px;
  53. line-height: 40px;
  54. text-align: center;
  55. background: green;
  56. color: #fff;
  57. margin-top: 20px;
  58. }
  59. </style>
  60. C.Javascript
  61. 方法一:
  62. <script>
  63. var addBtn = document.getElementById('addBtn'),
  64. list = document.getElementById('list'),
  65. delBtns = list.getElementsByClassName('del'),
  66. update=list.getElementsByClassName('update');
  67. addBtn.onclick = function () {
  68. var res = prompt('请输入要添加的内容');//''/'aaa'/null
  69. if(res){
  70. var newLi = document.createElement('li');
  71. newLi.innerHTML = res+'<span class="del">删除</span><span class="update">修改</span>';
  72. //每一次新增的项,需要分别给删除按钮和修改按钮绑定事件
  73. newLi.getElementsByClassName('del')[0].onclick = del;
  74. newLi.getElementsByClassName('update')[0].onclick = Upd;
  75. list.appendChild(newLi);
  76. }
  77. };
  78. // 给删除按钮绑定点击事件
  79. for(var i = 0; i < delBtns.length; i++){
  80. delBtns[i].onclick = del;
  81. }
  82. function del() {
  83. if(confirm('确定要删除吗?')){
  84. list.removeChild(this.parentNode);
  85. }
  86. }
  87. //给修改按钮绑定点击事件
  88. for(var i = 0; i < update.length; i++){
  89. update[i].onclick = Upd;
  90. }
  91. function Upd() {
  92. var res = prompt('请输入要修改的内容');
  93. if(res){
  94. var newLi = document.createElement('li');
  95. newLi.innerHTML = res+'<span class="del">删除</span><span class="update">修改</span>';
  96. //每一次修改的项,也需要分别给删除按钮和修改按钮绑定事件
  97. newLi.getElementsByClassName('del')[0].onclick = del;
  98. newLi.getElementsByClassName('update')[0].onclick = Upd;
  99. list.replaceChild(newLi,this.parentNode);
  100. }
  101. }
  102. </script>
  103. 方法二:
  104. <script>
  105. var addBtn = document.getElementById('addBtn'),
  106. list = document.getElementById('list'),
  107. delBtns = list.getElementsByClassName('del'),
  108. update=list.getElementsByClassName('update');
  109. addBtn.onclick = function () {
  110. var res = prompt('请输入要添加的内容');
  111. if(res){
  112. var newLi = document.createElement('li');
  113. newLi.innerHTML = res+'<span class="del">删除</span><span class="update">修改</span>';
  114. list.appendChild(newLi);
  115. }
  116. };
  117. /*
  118. * 事件冒泡:事件发生时,发生事件的元素的祖先元素也可以被触发该事件
  119. * 事件委托:利用事件冒泡的机制,将事件绑定给祖先元素,事件触发时通过判断事件源的具体信息进行相应的操作
  120. * */
  121. list.onclick = function (e) {//e事件对象,存储的是事件的详细信息
  122. e = e || window.event;//ie低版本浏览器将事件对象存储在window.event属性上
  123. var tar = e.target || e.srcElement;//事件源,触发事件的最小的那个元素
  124. if(tar.innerHTML === '删除'){
  125. if(confirm('确定要删除吗?')){
  126. list.removeChild(tar.parentNode);
  127. }
  128. }else if(e.target.className === 'update'){
  129. var res = prompt('请输入要修改的内容');//''/'aaa'/null
  130. if(res){
  131. var newLi = document.createElement('li');
  132. newLi.innerHTML = res+'<span class="del">删除</span><span class="update">修改</span>';
  133. list.replaceChild(newLi,tar.parentNode);
  134. }
  135. }
  136. }
  137. </script>

发表评论

表情:
评论列表 (有 0 条评论,247人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JDBC增删案例讲解

    JDBC增删改查案例讲解 简介:这是一个网上非常常见的,JDBC的练习题,系统大家通过本文的讲解,熟悉JDBC的增删改查。 推荐学习路线:[JDBC数据库的连接][JD

    相关 Element(4) 增删案例

    分享一个Vue增删改查小案例demo吧,主要是常见的crud,编辑时表单回显处理,提交表单时数据格式校验,列表分页处理…等 > 温馨小提示:案例源码附文章最后了,有需要的朋友