登录  /  注册
博主信息
博文 7
粉丝 0
评论 0
访问量 3140
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
演示元素查询的api方法和演示元素遍历与增删改常用方法
P粉276126820
原创
393人浏览过

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()
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学