欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何在JavaScript中添加HTML段落元素

最编程 2024-07-22 14:31:18
...

传统方法:

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代码混杂在一起,不是一种好的做法。

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>

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);

推荐阅读