JavaScript插入HTML方法

参考文章:https://www.jianshu.com/p/f54897f689cf

传统方法

1.document.write方法

可以直接在需要插入的地方通过script标签插入

<body>
  <script>
    document.write("<p>This is inserted.</p>");
  </script>
</body>

或者挪到外部函数中

<body>
  <script>
    insertParagraph("This is inserted");
  </script>
...
<script>
function insertParagraph(text){
  var str = "<p>"+text+"</p>"
  document.write(str)
}
</script>
</body>

但是怎样都会使JavaScript代码和HTML代码混杂在一起,不是一种好的做法。

2.innerHTML属性

innerHTML即可以写入html代码,也可以读出所选节点下的html代码。通过innerHTML插入是直接替换掉了所选节点下面的全部内容。

<div id="insert">
  <p>This will be overwritten.</p>
</div>

<script>
window.onload = function(){
  var insertDiv = document.getElementById("insert")
  alert(insertDiv.innerHTML)
  insertDiv.innerHTML = "<p>This is inserted.</p>"
}
</script>

3.DOM方法

createElement方法:document.createElement(nodeName)
创建一个新元素,下面的代码就是创建了一个p元素。

var insertElement = document.createElement("p")

appendChild方法:parent.appendChild(child)
让此节点成为目标节点的子节点

var insertElement = document.createElement("p");
document.getElementById("insert").appendChild(insertElement);

creatTextNode方法:document.createTextNode(text);
和createElement方法类似,但是创建的是一个文本节点

var txt = document.createTextNode("New insert text.");
insertElement.appendChild(txt);

insertBefore方法: parentElement.insertBefore(newElement,targetElement);
将一个新元素插到一个现有元素的前面。其中parentElement是目标元素的父元素,newElement是你想插入的元素,targetElement你想插入到它前面的元素。

var newInsertElement = document.createElement("p");
insertDiv.insertBefore(newInsertElement,insertDiv);
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值