经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » jQuery » 查看文章
jQuery使用appendTo()和remove()函数实现动态添加和删除行数据功能
来源:cnblogs  作者:Schieber  时间:2021/2/1 11:56:01  对本文有异议

最近在学习jQuery的时候,学习到了appendTo()和remove()函数
于是利用两者做了一个模拟动态添加和删除行数据的案例,以下为完整代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>使用appendTo和remove实现动态添加和删除行数据</title>
  6. <style type="text/css">
  7. #employeeTable {
  8. /*设置表格的边框间距*/
  9. border-spacing: 1px;
  10. /*设置边框元素的背景色*/
  11. background-color: black;
  12. /*设置元素的外边距属性,顺序为顺时针:上右下左*/
  13. margin: 80px auto 10px auto;
  14. }
  15. th, td {
  16. background-color: #ffffff;
  17. }
  18. #formDiv {
  19. width: 250px;
  20. border-style: solid;
  21. border-width: 1px;
  22. margin: 50px auto 10px auto;
  23. /*设置元素的填充属性,顺序为顺时针:上右下左*/
  24. padding: 10px;
  25. }
  26. #formDiv input {
  27. width: 100%;
  28. }
  29. .word {
  30. width: 40px;
  31. }
  32. .inp {
  33. width: 200px;
  34. }
  35. </style>
  36. <script type="text/javascript" src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  37. <script type="text/javascript">
  38. $(function () {
  39. // 用于复用的删除数据的函数
  40. var deleteFun = function () {
  41. // 在事件响应的function函数中,有一个this对象,这个this对象是当前正在响应事件的DOM对象
  42. // 通过当前点击的对象a标签获取到Table表格的tr行元素
  43. var $trElement = $(this).parent().parent();
  44. // 通过tr行标签找到后代第一列td标签的值
  45. var name = $trElement.find("td:first").html();
  46. if (confirm("确定删除[" + name + "]吗")) {
  47. $trElement.remove();
  48. }
  49. }
  50. // 添加新员工功能
  51. $("#addEmpButton").click(function () {
  52. var empname = $("#empName").val();
  53. var email = $("#email").val();
  54. var salary = $("#salary").val();
  55. var trObj = $(" <tr>\n" +
  56. " <td>" + empname + "</td>\n" +
  57. " <td>" + email + "</td>\n" +
  58. " <td>" + salary + "</td>\n" +
  59. " <td><a href=\"#\">Delete</a></td>\n" +
  60. " </tr>");
  61. // 将以上内容追加到表格中
  62. trObj.appendTo("#employeeTable")
  63. // 删除新添加的数据的功能(点击提交按钮后执行)
  64. // deleteFun函数后不能加括号(),否则页面加载完直接执行该函数,导致点击删除按钮没有任何反应
  65. trObj.find("a").click(deleteFun);
  66. });
  67. // 删除现有员工功能
  68. // deleteFun函数后不能加括号(),否则页面加载完直接执行该函数,导致点击删除按钮没有任何反应
  69. $("a").click(deleteFun);
  70. });
  71. </script>
  72. </head>
  73. <body>
  74. <table id="employeeTable">
  75. <tr>
  76. <th>Name</th>
  77. <th>Email</th>
  78. <th>Salary</th>
  79. <th>&nbsp;</th>
  80. </tr>
  81. <tr>
  82. <td>Tom</td>
  83. <td>tom@tom.com</td>
  84. <td>5000</td>
  85. <td><a href="#">Delete</a></td>
  86. </tr>
  87. <tr>
  88. <td>Jerry</td>
  89. <td>jerry@sohu.com</td>
  90. <td>8000</td>
  91. <td><a href="#">Delete</a></td>
  92. </tr>
  93. <tr>
  94. <td>Bob</td>
  95. <td>bob@bob.com</td>
  96. <td>10000</td>
  97. <td><a href="#">Delete</a></td>
  98. </tr>
  99. </table>
  100. <div id="formDiv">
  101. <h4>添加新员工</h4>
  102. <table>
  103. <tr>
  104. <td class="word">name:</td>
  105. <td class="inp">
  106. <input type="text" name="empName" id="empName"/>
  107. </td>
  108. </tr>
  109. <tr>
  110. <td class="word">email:</td>
  111. <td class="inp">
  112. <input type="text" name="email" id="email"/>
  113. </td>
  114. </tr>
  115. <tr>
  116. <td class="word">salary:</td>
  117. <td class="inp">
  118. <input type="text" name="salary" id="salary"/>
  119. </td>
  120. </tr>
  121. <tr>
  122. <td colspan="2" align="center">
  123. <button id="addEmpButton" value="abc">
  124. Submit
  125. </button>
  126. </td>
  127. </tr>
  128. </table>
  129. </div>
  130. </body>
  131. </html>
代码运行效果:

原文链接:http://www.cnblogs.com/xiqingbo/p/front-end-08.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号