博客列表 >dom增删改 留言板案例

dom增删改 留言板案例

早晨
早晨原创
2022年07月27日 00:34:52462浏览
序号 名称 描述
1 document.createElement() 创建元素节点对象:可以创建一个元素节点对象,它需要一个标签名作为参数,根据该标签名创建元素节点,并将创建好的对象作为返回值返回
2 document.createTextNode() 创建一个文本节点:可以用来创建一个文本节点对象,需要一个文本内容作为参数,将会根据文本内容创建文本节点,并将新的节点返回,appendChild()向一个父节点中添加一个子节点,语法: 父节点.appendChild(子节点)
3 insertBefore() 插入一个节点:可以在指定子节点前插入新的子节点, 语法:父节点.insertBefore(新节点,旧节点);
4 replaceChild() 替换一个节点:可以使用指定子节点替换已有子节点,语法:父节点.replaceChild(新节点,旧节点);
5 removeChild() 删除一个子节点。 语法:父节点.removeChild(子节点);子节点.parentNode.removeChild(子节点);

dom增删改代码

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  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>dom增删改</title>
  8. </head>
  9. <body>
  10. <script>
  11. // 创建元素 createElement()
  12. const ul = document.createElement("ul");
  13. // 追加元素: append()
  14. document.body.append(ul);
  15. for (let i = 0; i < 7; i++) {
  16. const li = document.createElement("li");
  17. li.append("item-" + (i + 1));
  18. ul.append(li);
  19. }
  20. console.log(ul);
  21. const li = document.createElement("li");
  22. li.append("new item");
  23. li.style.color = "red";
  24. const item = ul.querySelector("li:nth-of-type(3)");
  25. item.before(li);
  26. // 克隆
  27. let newNode = li.cloneNode(true);
  28. item.after(newNode);
  29. const h3 = document.createElement("h3");
  30. h3.append("列表");
  31. ul.insertAdjacentElement("beforebegin", h3);
  32. ul.insertAdjacentHTML("afterend", "<h4>共计: 8个</h4>");
  33. // remove: 移除
  34. ul.firstElementChild.remove();
  35. // ul.lastElementChild.remove();
  36. // ul.querySelector("li:nth-of-type(3)").remove();
  37. // ul.querySelector("li:nth-of-type(4)").remove();
  38. </script>
  39. </body>
  40. </html>

运行效果

留言板实例代码

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  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>留言板</title>
  8. </head>
  9. <body>
  10. <input
  11. type="text"
  12. onkeydown="book(this)"
  13. placeholder="请输入留言"
  14. autofocus
  15. />
  16. <ul class="list"></ul>
  17. <script>
  18. function book(bbs) {
  19. if (event.key === "Enter") {
  20. if (bbs.value.length === 0) {
  21. alert("留言不能为空");
  22. bbs.focus();
  23. return false;
  24. }
  25. const ul = document.querySelector(".list");
  26. bbs.value =
  27. bbs.value + '<button onclick="del(this.parentNode)">删除</button>';
  28. ul.insertAdjacentHTML("afterbegin", `<li>${bbs.value}</li>`);
  29. bbs.value = null;
  30. }
  31. }
  32. function del(bbs) {
  33. return confirm("是否删除?") ? bbs.remove() : false;
  34. }
  35. </script>
  36. </body>
  37. </html>

运行效果

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议