原生js中如何添加dom元素

1. appendChild()

  • 概念:把要添加的节点添加到指定父级里面的最后面,所以也叫追加。
  • 使用方式:fatherdom.appendChild( insertdom )
  • 兼容性:所有浏览器都支持此方法。

2. insertBefore()

  • 概念:把要插入的节点添加到指定父级里面的指定节点之前。
  • 使用方式:fatherdom.insertBefore( insertdom,chosendom )
  • 兼容性:所有浏览器都支持此方法,但是值得注意的是,如果第二个参数节点不存在,在IE和Safari下会把要添加的节点使用appendChild()方法追加到指定父级中,而其他主流浏览器(Firefox、Chrome、Opera等)下会报错,所以在插入节点的时候,需要先判断第二个参数节点是否存在

3. 举例

<!DOCTYPE html>
<html lang="en">
<head>
  <title>practise</title>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <meta name="viewport" id="WebViewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
  <style>
    #container {
      width: 200px;
      height: 200px;
      background-color: lightblue;
    }
  </style>
</head>

<body>
<div id="container">
   <div class="aa">aa</div>
  <div class="bb">bb</div>
</div>
<script>
  var Java = function (content) {
    this.content = content;
    (function (content) {
      var div = document.createElement('div');
      div.innerHTML = content;
      div.style.color = 'green';
      document.getElementById('container').appendChild(div)
    })(content)
  };

  var Html = function (content) {
    this.content = content;
    (function (content) {
      var div = document.createElement('div');
      div.innerHTML = content;
      div.style.color = 'red';
      var bb = document.getElementsByClassName("bb")[0];
      document.getElementById('container').insertBefore(div, bb)
    })(content)
  };

  Java("这里是Java模块");
  Html("这里是HTML模块");
</script>
</body>
</html>

效果:
在这里插入图片描述

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值