首页 > 其他分享 >JS动态在父元素里追加元素——insertAdjacentHTML

JS动态在父元素里追加元素——insertAdjacentHTML

时间:2023-10-30 11:55:42浏览次数:40  
标签:元素 JS 插入 HTML insertAdjacentHTML 使用 节点

insertAdjacentHTML() 方法将指定的文本解析为 Element 元素,并将结果节点插入到 DOM 树中的指定位置。它不会重新解析它正在使用的元素,因此它不会破坏元素内的现有元素。这避免了额外的序列化步骤,使其比直接使用 innerHTML 操作更快。

 

element.insertAdjacentHTML(position, text);

position

一个 DOMString,表示插入内容相对于元素的位置,并且必须是以下字符串之一:

  • 'beforebegin':元素自身的前面。
  • 'afterbegin':插入元素内部的第一个子节点之前。
  • 'beforeend':插入元素内部的最后一个子节点之后。
  • 'afterend':元素自身的后面。

text

是要被解析为 HTML 或 XML 元素,并插入到 DOM 树中的 DOMString

位置名称的可视化

 

<!-- beforebegin -->
<p>
  <!-- afterbegin -->
  foo
  <!-- beforeend -->
</p>
<!-- afterend -->
// 原为 <div id="one">one</div>
var d1 = document.getElementById("one");
d1.insertAdjacentHTML("afterend", '<div id="two">two</div>');

// 此时,新结构变成:
// <div id="one">one</div><div id="two">two</div>

注意

安全问题

使用 insertAdjacentHTML 插入用户输入的 HTML 内容的时候,需要转义之后才能使用。

如果只是为了插入文本内容(而不是 HTML 节点),不建议使用这个方法,建议使用node.textContent 或者 node.insertAdjacentText()。因为这样不需要经过 HTML 解释器的转换,性能会好一点。

 

标签:元素,JS,插入,HTML,insertAdjacentHTML,使用,节点
From: https://www.cnblogs.com/dlx609/p/17797450.html

相关文章

  • JS点击空白关闭弹窗的方式
    12$(document).mouseup(function(e){3varpop=$('popDialog');4if(!pop.is(e.target)&&pop.has(e.target).length===0){5//可以在这里关闭弹窗6somecode...7}8});9判断点击事件发生在区域外的两个条件:点......
  • Python中的JSON数据解析和映射--根据value查询key
    importjson#原始JSON数据json_data='''[{"id":1,"name":"MOVE"},{"id":2,"name":"LEFT_DOWN"},{"id":3,"name":"LEFT_UP"},{......
  • Hive中json格式字段清洗与提取
    废话不多说,直接上案例如下是某json字段的查询结果,可以看出它是一个json数组selectsales_pricefromorder_goodswhereorder_number='R1001';--结果:[{"threshold_number":1,"group_id":1,"gear_price":"120.00"},{"threshold_number"......
  • 01背包问题的js解决方式
    如果你有兴趣看这个相信你已经对背包问题有所了解,所以关于背包问题的描述,我就不写了。只记录一下自己对这个问题的一些看法和思考,于我而言,这个东西现在困扰我的是如何确定最优解。实质上关于背包问题网上的东西我大体都有看过,对于这个问题,常见的就是使背包重量动态增长,然后遍历每......
  • 面试必刷TOP101:16、删除有序链表中重复的元素-II
    一、题目二、题解importjava.util.*;publicclassSolution{publicListNodedeleteDuplicates(ListNodehead){//空链表if(head==null)returnnull;ListNoderes=newListNode(0);//在链表前加一个表头......
  • 将所有的零移动到数组的末尾并保持非零元素的顺序的两种思路及JAVA代码实现
    //思路2:从前向后遍历数组,将非0数字放入一个集合中publicstaticvoidmoveZeroes02(int[]nums){if(nums==null||nums.length==0){return;}if(nums.length==1){return;}//......
  • Pandas数据导入和导出:CSV、Excel、MySQL、JSON
    导入MySQL查询结果:read_sqlimportpandascon="mysql+pymysql://user:pass@127.0.0.1/test"sql="SELECT*FROM`student`WHEREid=2"#sql查询df1=pandas.read_sql(sql=sql,con=con)print(df1)导入MySQL整张表:read_sql_table#整张表df2=pandas.rea......
  • js 生成随机数(含随机颜色)
    生成0-1之间的随机数Math.random()生成0-x之间的随机整数:Math.round(Math.random()*x)生成min-max之间的随机整数:Math.round(Math.random()*(max-min)+min)生成N位随机数/***函数--生成N位随机数*@param{*}N数字的长度*/functionrandomNum(N){returnString......
  • python---数列内元素正倒相加实例
    a=list([1,21,5,3,1,23])b=list([7,4,6,3,2,1])x=int(input("请输入想从第几个数开始:"))y=int(input("请输入想到第几个数结束:"))c=[0,0,0,0,0,0]m=input("想要正着加吗?(T/F)")foriinrange(x-1,y):ifm=="T":c=a[i]+b[i]......
  • 基于jquery+html开发的json格式校验工具
    json简介JSON是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLanguage,StandardECMA-2623rdEdition-December1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,......