Blogger Information
Blog 37
fans 0
comment 0
visits 13964
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1. 实例演示dom增删改的常用方法 2. 改写留言板案例, 添加自定义样式
秋闲独醉
Original
263 people have browsed it
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <!-- 1. 实例演示dom增删改的常用方法
  11. 2. 改写留言板案例, 添加自定义样式 -->
  12. <script>
  13. /**
  14. *1.createElement(ele):创建新的元素,doucment上调用
  15. *2.append(string/ele):追加到父级最后子节点后,在父节点上调用;也可在新元素上调用,添加内容。
  16. *3.before(string/ele):某元素之前插入节点,在当前元素上调用
  17. *4.after(string/ele):在某元素之后插入节点,在当前元素上调用
  18. *5.cloneNode(true):克隆节点(true:包含子节点),在要被克隆的节点上调用
  19. *6.replaceChild(ele,pos):替换子元素,在父级节点上调用
  20. *7.node.remove():移除当前元素,在当前元素调用。
  21. *
  22. */
  23. // 创建新的元素
  24. const ul = document.createElement("ul");
  25. //追加元素
  26. document.body.append(ul);
  27. for (let i = 0; i < 6; i++) {
  28. const li = document.createElement("li");
  29. //添加内容
  30. li.append("item" + (i + 1));
  31. //设置字号大小
  32. li.style.fontSize = "30px";
  33. //追加元素
  34. ul.append(li);
  35. }
  36. console.log(ul);
  37. //创建元素,添加内容,添加样式,获取第三个li,插入节点
  38. const li = document.createElement("li");
  39. li.append("new item");
  40. li.style.color = "pink";
  41. li.style.fontSize = "30px";
  42. const item = document.querySelector("ul li:nth-of-type(3)");
  43. item.before(li);
  44. //克隆节点
  45. const newNode = li.cloneNode(true);
  46. item.after(newNode);
  47. //节点替换
  48. const newItem = document.createElement("li");
  49. newItem.append("替换后的节点");
  50. const oldItem = document.querySelector("ul li:last-of-type");
  51. ul.replaceChild(newItem, oldItem);
  52. //节点删除
  53. const deleteItem = document.querySelector("ul li:first-of-type");
  54. deleteItem.remove();
  55. </script>
  56. <script>
  57. //insertAdjacentElement('插入位置',元素)
  58. //插入位置有四个
  59. //afterBegin:开始标签之后,第一个子元素
  60. //beforeBegin:开始标签之前,是它的前一个兄弟元素
  61. //beforeEnd:结束标签之前,它的最后一个子元素
  62. //afterEnd:结束标签之后,它的下一个兄弟元素
  63. const h3 = document.createElement("h3");
  64. h3.append("这是一个ul列表");
  65. ul.insertAdjacentElement("beforeBegin", h3);
  66. const insertItem = document.createElement("li");
  67. insertItem.append("这是一个afterBegin");
  68. ul.insertAdjacentElement("afterbegin", insertItem);
  69. const insertItem2 = document.createElement("li");
  70. insertItem2.append("这是一个beforeEnd");
  71. ul.insertAdjacentElement("beforeEnd", insertItem2);
  72. const h4 = document.createElement("h4");
  73. h4.append("这是一个footer");
  74. ul.insertAdjacentElement("afterEnd", h4);
  75. </script>
  76. <input type="text" name="message" id="message" onkeydown="addMessage(this)" palceholder="请输入留言" autofocus />
  77. <ul class="list"></ul>
  78. <script>
  79. //2. 改写留言板案例, 添加自定义样式
  80. let i = 0;
  81. function addMessage(ele) {
  82. if (event.key === "Enter") {
  83. if (ele.value.length === 0) {
  84. alert("留言不能为空");
  85. ele.focus();
  86. return false;
  87. }
  88. const ul = document.querySelector(".list");
  89. const li = document.createElement("li");
  90. //添加自定义属性
  91. li.setAttribute("data-index", ++i);
  92. //获取自定义属性
  93. ele.value = "第" + li.dataset.index + "条: " + ele.value + "<button onclick='del(this.parentNode)'>删除</button>";
  94. li.innerHTML = ele.value;
  95. // console.log(li);
  96. ul.insertAdjacentElement("afterbegin", li);
  97. ele.value = null;
  98. }
  99. }
  100. function del(ele) {
  101. return confirm("要删除吗?") ? ele.remove() : false;
  102. }
  103. </script>
  104. </body>
  105. </html>
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!