Blogger Information
Blog 19
fans 1
comment 0
visits 12259
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Dom元素增加删除,修改,查找
▽空城旧梦
Original
595 people have browsed it

通过CSS选择器获取元素

  1. <ul class="course">
  2. <li class="item">item1</li>
  3. <li class="item">item2</li>
  4. <li class="item">item3</li>
  5. </ul>
  6. let ul = document.querySelector(".course");//获取到ul元素
  7. let liList = document.querySelector(".course .item");//获取item类第一个元素
  8. //当需要获取到所有相同属性的元素集合时,可以使用querySelectorAll
  9. let liList = document.querySelectorAll(".course > .item");//获取所有li
  10. //里面元素可以使用【下标】来提取
  11. console.log(liList[0]); //第一个,等同于querySelector();
  12. //拿到元素集合后,可以通过foreach来遍历
  13. liList.foreach((item,index,Array){
  14. console.log(item,index);//index代表下标索引,item代表元素
  15. });
  16. //也可以将liList 转化为数组,下面提供两种转化方法
  17. let lisArr = Array.from(liList);
  18. let lisArr = [...liList];

增加元素

  1. //需要增加的元素li
  2. const li = document.createElement("li");
  3. //parent.appendChild(li); //将li元素添加到html页面中,最后位置
  4. //想将li添加到ul中,有三种方法:
  5. //方法1:子元素扩充,li成为ul的最后一个子元素
  6. ul.appendChild(li);
  7. //方法2:定义新增元素的html代码语句,用insertAdjacentHTML方法,可以指定位置
  8. let addLiHtml = "<li style='color:red'>新增元素li</li>";
  9. //insertAdjacentHTML方法的第一个参数:
  10. // beforeBegin:开始之前,即已经不属于ul了
  11. // afterBegin:开始之后,此时新增li变成ul的第一个子元素
  12. // beforeEnd:结束之前,此时新增li变成ul的最后一个子元素
  13. // afterEnd:结束之后,即已经不属于ul了
  14. ul.insertAdjacentHTML("beforeEnd",addLiHtml);
  15. //方法3:增加元素,可以指定位置
  16. ul.insertAdjacentElement("afterBegin",li);
  17. //需要大量添加元素时,如果一个一个加,页面就会频繁刷新,此时可以考虑用文档片断完成
  18. const frag = new DocumentFragment();
  19. //const frag = document.createDocumentFragment(); 这种方法创建片断也可以
  20. for(let i=0;i<5;i++){
  21. const li = document.createElement("li");
  22. li.textContent = 'hello' + (i+1);
  23. frag.appendChild(li);
  24. }
  25. //将片断挂到ul后面,成为ul的子元素
  26. ul.appendChild(flag);

替换元素

  1. const h3 = document.createElement("h3");
  2. h3.innerHTML = "晚上好";
  3. //先查找被替换的旧元素,然后用replaceWith()将,新元素替换旧元素
  4. document.querySelector('li:nth-of-type(3)').replaceWith(h3);、
  5. //如果要在父元素上进行操作replaceChild(新元素,旧元素)
  6. ul.replaceChild(h3,document.querySelector("li:nth-of-type(3)"));

删除元素

  1. //在父元素进行操作,删除子元素
  2. ul.removeChild(document.querySelector("#list h3"));

获取元素

  1. //获取所有子元素
  2. console.log(ul.children);
  3. //获取所有子元素的数量
  4. console.log(ul.children.lenght);
  5. console.log(ul.childElementCount);
  6. //获取第一个子元素
  7. console.log(ul.firstElementChild);
  8. //获取最后一个子元素
  9. console.log(ul.lastElementChild);
  10. //找前一个兄弟,先定位
  11. const nine = document.querySelector("li:nth-of-type(2)");
  12. //从定位出发,找前一个
  13. console.log(nine.previousElementSibling.innerHTML);
  14. //从定位出发,找后一个
  15. console.log(nine.nextElementSibling.innerHTML);
Correcting teacher:天蓬老师天蓬老师

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