Blogger Information
Blog 7
fans 0
comment 0
visits 2126
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
演示元素查询的api方法和演示元素遍历与增删改常用方法
P粉276126820
Original
272 people have browsed it

1、元素查询和api方法

  1. <ul class="list">
  2. <li>item1</li>
  3. <li>item2</li>
  4. <li>item3</li>
  5. <li>item4</li>
  6. <li>item5</li>
  7. <li>item6</li>
  8. </ul>
  9. <script>
  10. // 获取所有子节点
  11. const list =document.querySelector('.list')
  12. let items = list.childNodes//所有的的子节点(包括回车)
  13. items = [...items].filter(item=>item.nodeType==1)//获取元素节点。
  14. // 另一种简便方法
  15. items=list.children
  16. // 获取第一个子元素
  17. console.log(items[0].textContent)
  18. console.log(list.firstElementChild.textContent)
  19. //获取最后一个子元素节点
  20. console.log(items[items.length-1].textContent)
  21. console.log(list.lastElementChild)
  22. //获取其中一个字元素节点
  23. let four =document.querySelector('.list :nth-child(4)')
  24. console.log(four.textContent)
  25. // 获取子节点的前一个
  26. console.log(four.previousElementSibling.textContent)
  27. //获取子节点的后一个
  28. console.log(four.nextElementSibling.textContent)
  29. // 获取子元素的父节点
  30. let parent = four.parentElement
  31. console.log(parent)
  32. console.log(parent.contains(four))
  33. // ———————————————————————指定位置插入—————————————————————
  34. // 2 API 方法
  35. // 1. `insertAdjacentElement()`:指定位置插入**元素**
  36. // 2. `insertAdjacentText()`: 指定位置插入**文本**节点
  37. // 3. `insertAdjacentHTML()`: 指定位置插入**元素节点**(DOMString)
  38. let h3 = document.createElement('h3')
  39. h3.textContent='hello world'
  40. // 1. `beforebegin`:元素自身的前面
  41. list.insertAdjacentElement('beforebegin',h3)
  42. // 2. `afterbegin`:插入元素内部的第一个子节点之前
  43. list.insertAdjacentElement('afterbegin',h3)
  44. // 3. `beforeend`:插入元素内部的最后一个子节点之后
  45. list.insertAdjacentElement('beforeend',h3)
  46. // 4. `afterend`:元素自身的后面
  47. list.insertAdjacentElement('afterend',h3)
  48. //追加元素
  49. list.insertAdjacentHTML('afterend','<button onclick="this.remove()">删除</button>')
  50. </script>

2、元素遍历与增删改常用方法

  1. <script>
  2. //创建元素
  3. const ul =document.createElement('ul')
  4. // 文档中添加元素
  5. document.body.append(ul)
  6. console.log('111')
  7. // 文档片段方式添加(防止数据量大造成页面抖动,用文档片段的方法去做)
  8. const frag =document.createDocumentFragment('ul')
  9. for(let i=0;i<6;i++){
  10. const li = document.createElement('li')
  11. li.append('item-'+(i+1))
  12. frag.append(li)
  13. }//创建完后一次性添加到ul中。
  14. ul.append(frag)
  15. // after方法
  16. let three= ul.querySelector(':nth-child(3)')
  17. let li = document.createElement('li')
  18. li.append('指定子元素前面新增')
  19. three.before(li)
  20. //before
  21. li = document.createElement('li')
  22. li.append('指定子元素后面新增新增')
  23. three.before(li)
  24. //console.log(three)
  25. //克隆
  26. ul.append(li.cloneNode(true))
  27. // 替换/更新最后一个子元素
  28. let h2 = document.createElement('h2')
  29. h2.textContent='hello world'
  30. ul.replaceChild(h2,ul.lastElementChild)
  31. //删除指定元素
  32. ul.querySelector(':nth-child(3)').remove()
  33. // ———————————————————————元素内容添加—————————————————————
  34. //textContent可以获取css 隐藏元素都可以获取,innerText不能获取css及隐藏元素
  35. console.log(document.querySelector('h2').textContent);
  36. console.log(document.querySelector('h2').innerText);
  37. //直接原样输出
  38. document.querySelector('.box').innerText='<h3 style="color: red;">测试innerHtml和innerText</h3>'
  39. //渲染后显示
  40. document.querySelector('.box').innerHTML='<h3 style="color: red;">测试innerHtml和innerText</h3>'
  41. //替换自己
  42. document.querySelector('.box').outerHTML=null
  43. // 同remove等效
  44. // document.querySelector('.box').remove()
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