insertAdjacentHTML和innerHTML

insertAdjacentHTML和innerHTML

innerHTML大家都很熟悉了,可以直接重绘dom结构

那么这个insertAdjacentHTML有什么用呢

insertAdjacentHTML

它可以往某个DOM元素里添加元素(不只是添加子元素,也可以添加到同级)

那我们为什么不直接用innerHTML呢?

请往下看

innerHTML的缺点

首先大家要知道innerHTML它在使用的时候,他会有一个把之前结构给清空这样一个过程,然后再去添加,如果我们数据比较多的话那么innerHTML会非常占资源,而且非常慢,大家可以自己测试一下

let box = document.getElementsByClassName('box')[0]
    
    for(let i=0;i<=10000;i++){
      box.innerHTML+=`<p>${i}</p>`
    }

这才1w次,就跟死循环了一样,

那我们试试用insertAdjacentHTML

    let box = document.getElementsByClassName('box')[0]
    for(let i=0;i<=100000;i++){
      box.insertAdjacentHTML('beforeend',`<p>${i}</p>`)
    }

哪怕是10w次,也是1s左右就加载出来,可以帮助我们优化性能

那么insertAdjacentHTML如何使用?

insertAdjacentHTML的使用

语法:

element.insertAdjacentHTML(position, text);

text就是要插入的字符串,可以包涵dom节点。

那么position的参数如下

position是相对于元素的位置,并且必须是以下字符串之一:

  • beforebegin: 元素自身的前面。
  • afterbegin: 插入元素内部的第一个子节点之前。
  • beforeend: 插入元素内部的最后一个子节点之后。
  • afterend: 元素自身的后面。
    text是要被解析为HTML或XML,并插入到DOM树中的字符串
img
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文链接JavaScript原生汇总[https://b...
    未来仍可期阅读 3,803评论 0 0
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,097评论 0 3
  • CSS CSS3 布局属性 标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100 !importan...
    53cfdb355418阅读 3,258评论 0 0
  •   尽管 DOM 作为 API 已经非常完善了,但为了实现更过的功能,仍然会有一些标准或专有的扩展。   2008...
    霜天晓阅读 3,211评论 0 0
  • 节点 节点类型 每个节点都有一个 nodeType 属性,用于表示节点类型。nodeType 属性返回节点的类型。...
    练晓习阅读 3,328评论 0 4