JS学习笔记-列表的删除和增加

雨点打透心脏的1/2处 2023-06-20 09:29 107阅读 0赞

列表的删除和增加

1.HTML文件

我们在HTML中写入一个简单的学生信息表,这个表并没有用太多的样式,但是不影响结果。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <div align="center">
  9. <input type="text" id="id" placeholder="请输入编号">
  10. <input type="text" id="name" placeholder="请输入姓名">
  11. <input type="text" id="gender" placeholder="请输入性别">
  12. <input type="button" value="添加" id="btn_add">
  13. </div>
  14. <table border="" cellspacing="" cellpadding="" style="" align="center">
  15. <caption>学生信息表</caption>
  16. <tr>
  17. <td>学号</td>
  18. <td>姓名</td>
  19. <td>性别</td>
  20. <td>操作</td>
  21. </tr>
  22. <tr>
  23. <td>1</td>
  24. <td>刘有义</td>
  25. <td></td>
  26. <td><a href="javascript:void(0);" οnclick="delTr(this)">删除</a></td>
  27. </tr>
  28. <tr>
  29. <td>2</td>
  30. <td>铁无情</td>
  31. <td></td>
  32. <td><a href="javascript:void(0);" οnclick="delTr(this)">删除</a></td>
  33. </tr>
  34. <tr>
  35. <td>3</td>
  36. <td>李中</td>
  37. <td></td>
  38. <td><a href="javascript:void(0);" οnclick="delTr(this)">删除</a></td>
  39. </tr>
  40. </table>
  41. </body>
  42. <script src="js/add_delete.js"></script>
  43. </html>

2.js文件

1)我们用面向对象的的js来写

  1. //1.获取按钮
  2. document.getElementById("btn_add").onclick = function(){
  3. //获取文本框内容
  4. var id = document.getElementById("id").value;
  5. var name = document.getElementById("name").value;
  6. var gender = document.getElementById("gender").value;
  7. //创建td,赋值td的标签体
  8. //id的td
  9. var td_id = document.createElement("td");
  10. var text_id = document.createTextNode(id);
  11. td_id.appendChild(text_id);
  12. //name的td
  13. var td_name = document.createElement("td");
  14. var text_name = document.createTextNode(name);
  15. td_name.appendChild(text_name );
  16. //gender的td
  17. var td_gender = document.createElement("td");
  18. var text_gender = document.createTextNode(gender);
  19. td_gender.appendChild(text_gender);
  20. //a标签的td
  21. var td_a = document.createElement("td");
  22. var ele_a = document.createElement("a");
  23. ele_a.setAttribute("href","javascript:void(0);");
  24. ele_a.setAttribute("onclick","delTr(this)");
  25. var text_a = document.createTextNode("删除");
  26. ele_a.appendChild(text_a);
  27. td_a.appendChild(ele_a);
  28. //创建tr
  29. var tr = document.createElement("tr");
  30. //5.添加td到tr中
  31. tr.appendChild(td_id);
  32. tr.appendChild(td_name);
  33. tr.appendChild(td_gender);
  34. tr.appendChild(td_a);
  35. //6.获取table
  36. var table = document.getElementsByTagName("table")[0];
  37. table.appendChild(tr);
  38. }
  39. function delTr(obj){
  40. var table = obj.parentNode.parentNode.parentNode;
  41. var tr = obj.parentNode.parentNode;
  42. table.removeChild(tr);
  43. }

2)

我们用一个更简单的方法来写出相同的效果,获取table的innerHTML然后直接修改。

  1. document.getElementById("btn_add").onclick = function(){
  2. //获取文本框内容
  3. var id = document.getElementById("id").value;
  4. var name = document.getElementById("name").value;
  5. var gender = document.getElementById("gender").value;
  6. //获取table
  7. var table = document.getElementsByTagName("table")[0];
  8. //追加一行
  9. table.innerHTML += "<tr>\n" +
  10. "<td>"+id+"</td>\n" +
  11. "<td>"+name+"</td>\n" +
  12. "<td>"+gender+"</td>\n" +
  13. "<td><a href=\"javascript:void(0);\" οnclick=\"delTr(this)\">删除</a><td>\n" +
  14. "</tr>";
  15. }
  16. function delTr(obj){
  17. var table = obj.parentNode.parentNode.parentNode;
  18. var tr = obj.parentNode.parentNode;
  19. table.removeChild(tr);
  20. }

3.结果
两种js代码的的运行结果相同,如下:
例子

发表评论

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

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

相关阅读