Blogger Information
Blog 15
fans 0
comment 0
visits 10896
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Javascript的Dom增删改方法、留言板添加自定义样式
P粉932932019
Original
496 people have browsed it

一、DOM增、删、改

1、增加

  • append(ele/string):既可增加元素,也可增加内容

    1. // 创建元素:只是创建,并未显示,追加之前先创建
    2. const ul = document.createElement("ul");
    3. // 追加元素ul:在父级层追加
    4. document.body.append(ul);
    5. // 批量追加元素li:首先要创建元素,然后再追加元素
    6. for (let i = 0; i < 8; i++) {
    7. const li = document.createElement("li");
    8. ul.append(li);
    9. li.append("item-" + (i + 1));
    10. }
  • before(ele/string)
    1. //创建元素
    2. const li_before = document.createElement("li");
    3. //追加元素文本
    4. li_before.append("before 5 item");
    5. //定位到某个元素之前
    6. const item = ul.querySelector("li:nth-of-type(5)");
    7. //追加元素使用before,具有append的功能,不是直接用append
    8. item.before(li_before);
  • after(ele/string)

    1. // 在某元素节点之后追加元素,方法一:使用after
    2. const li_after = document.createElement("li");
    3. li_after.append("after 1 item");
    4. const item2 = ul.querySelector("li:first-of-type");
    5. item2.after(li_after);
    1. // 在某元素节点之后追加元素,方法二:使用cloneNode + after
    2. const newNode = li_before.cloneNode(true);
    3. item2.after(newNode);

  • insertAdjacentElement(位置,元素)
    4种位置类型:
    beforebegin:在开始标签之前,是他的上一个兄弟元素
    afterbegin:在开始标签之后,是他的第一个子元素
    beforeend:在结束标签之前,是他的最后一个子元素
    afterend:在结束标签之后,是他的下一个兄弟元素

    1. // 使用 insertAdjacentElement()增加元素
    2. let h2 = document.createElement("h2");
    3. h2.append("H2标题");
    4. ul.insertAdjacentElement("beforebegin", h2);
    5. // 使用insertAdjacentHTML()快速增加元素、内容、样式
    6. ul.insertAdjacentHTML(
    7. "afterbegin",
    8. '<li style="color:red">insertAdjacentHTML</li>'
    9. );
    10. ul.insertAdjacentHTML("afterend", "<h3>累计数量:12个");

2、修改

replacechild(新节点,被替换的节点/旧节点)

  1. // replacechild()
  2. let item9 = document.createElement("a");
  3. item9.href = "www.baidu.com";
  4. item9.append("百度链接");
  5. let item8 = ul.querySelector("li:last-of-type");
  6. ul.replaceChild(item9, item8);

3、删除/移除

remove()

  1. //remove()
  2. ul.firstElementChild.remove();
  3. ul.lastElementChild.remove();
  4. ul.querySelector("li:nth-of-type(2)").remove();
  5. ul.querySelector("li:nth-of-type(2)").remove();
  6. ul.querySelector("li:nth-of-type(5)").remove();

二、留言板自定义样式

  1. //html代码
  2. <input type="tel" onkeydown="show(this)" placeholder="type..." autofocus />
  3. //JS代码
  4. function show(ele) {
  5. // console.log(event.type); //事件类型 keydown
  6. // console.log(event.key); //事件值
  7. // console.log(event); //事件 keyboard
  8. // 判断是否按下了回车键
  9. if (event.key === "Enter") {
  10. // 内部判断,输入的值是否为空
  11. if (ele.value.length === 0) {
  12. alert("Please type...");
  13. ele.focus();
  14. return false;
  15. }
  16. // 以下是创建元素、追加元素
  17. let div = document.createElement("div");
  18. let content = ele.value;
  19. div.append(content);
  20. document.body.after(div);
  21. ele.value = null;
  22. }
  23. }
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