您的位置:首页> 前端教程> JS教程
文章导航

JavaScript insertAdjacentHTML()

2019-11-6 12:45| 作者: admin| 查看: 446| 评论: 0|来自: 蚂蚁部落

此方法可以将字符串参数作为HTML或者XML代码进行解析。

然后将解析产生的节点对象插入到当前元素的指定毗邻位置。

为了便于方法的记忆与理解,从其名称入手,由如下三个单词构成:

(1). insert:翻译成汉语具有"插入"的意思。

(2).adjacent:翻译成汉语具有"毗邻"的意思。

(3).HTML:大家所熟知的前端布局用的HTML(事实也可以插入XML代码)。

语法结构:

[JavaScript] 纯文本查看 复制代码
targetElement.insertAdjacentHTML(position, string)

方法解析:

(1).targetElement:目标元素。

(2).position:规定被插入的位置的关键字,后面会逐一介绍。

(3).string:一段字符串,此方法会将其解析为节点对象,然后插入目标元素指定位置。

position属性值是四个表示位置的关键字:

(1).beforebegin:规定在目标元素的外部开始位置插入。

(2).afterbegin:规定在目标元素的内部开始位置插入。

(3).beforeend:规定在目标元素的内部结束位置插入。

(4).afterend:规定在目标元素的外部结束位置插入。

图示如下:

a:3:{s:3:\"pic\";s:43:\"portal/201911/06/124659qohg3e2gvgh79lud.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

假设红框是一个HTML元素形成的矩形盒,上面分别标注了对应的四个毗邻位置。

代码实例如下:

[HTML] 纯文本查看 复制代码运行代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title> 
<style>
p{
  width:100px;
  height:50px;
  background-color:red;
}
#target{
  width:200px;
  height:80px;
  background-color:blue;
}
</style>  
<script>
window.onload = () => {
  let oTarget=document.getElementById("target");
  let obt=document.getElementById("bt");
  let str="<p></p>"
  obt.onclick = () => {
    oTarget.insertAdjacentHTML("beforebegin",str);
  }
}
</script>  
</head>
<body>
<hr><div id="target"></div>
<input type="button" id="bt" value="查看效果"/>
</body>
</html>

点击按钮后代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201911/06/124726g00hy0upcpngeg6s.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

下面对上述代码进行一下详细分析:

(1).点击按钮之前,与div外部开始位置毗邻的是<hr>元素。

(2).点击按钮之后,insertAdjacentHTML()方法会解析字符串"<p></p>"。

(3).解析之后生成P元素节点对象,然后将其插入到div的"beforebegin"位置。

(4).也就是插入到div元素外部开始位置处,<hr>的位置被<p>占有。

在元素指定位置插入,而不是擦除元素内容再重新设置HTML或者XML内容时,推荐使用此方法,而不是innerHTML,具体相关内容可以参阅insertAdjacentHTML() 与 innerHTML 优点一章节。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部