美文网首页
insertBefore插入新元素在目标元素之前

insertBefore插入新元素在目标元素之前

作者: 薛定谔的程序 | 来源:发表于2019-12-24 15:37 被阅读0次
<body>
<div id="div">This is a div
<p id="p">div的子节点使用insertBefore将新元素节点插入在这段文字之前</p>
</div>
<a href="JS方法拓展insertAfter.html">
    <button>insertAfter</button>
</a>
<script>
let newElement = document.createElement('p');
let newText = document.createTextNode('newElement!');
newElement.appendChild(newText);
let oDiv = document.getElementById('div');
let oP = document.getElementById('p');
console.log(newElement);
console.log(oDiv);
console.log(oP);
//将新创建的new元素添加到div的子节点p之前
    oDiv.insertBefore(newElement,oP);
//想将新元素插在一个元素之前话就要知道这个元素的父元素,以div为例用element.parent获取element的父节点
console.log(oDiv.parentNode);//oDiv的父节点是body,给body一个id才能获取它,也可以直接使用oDiv.parentNode获取
oDiv.parentNode.insertBefore(newElement,oDiv);
//因为上面已经有insertBefore将newElement插入到oDiv中,所以document树中已经有newElement元素了,
// 新插入这个元素就会将刚才添加的元素删除,出现在现在插入的位置
//好的到这insertBefore已经吃滴透透滴了!!!下一个是insertAfter这个对应insertBefore是插入在目标元素之后,这个功能原生JS没有给,需要自己封装一insertAfter函数,点击按钮前往!加油
</script>
</body>
image.png

相关文章

  • insertBefore插入新元素在目标元素之前

  • 在现有元素后插入一个元素

    前篇笔记中写到在现有元素前插入一个元素的方法(insertBefore), 那DOM会不会提供一个在目标元素后插入...

  • insertBefore()

    在已有元素前插入一个新元素 在调用这个方法前,需要知道以下三件事: 1.新元素:你想要插入的元素(newEleme...

  • jQuery的DOM操作

    一、创建节点 以HTML创建新元素 以jQuery创建新元素 以DOM创建新元素 二、插入节点 通过js的DOM操...

  • #DOM 文档处理

    文档处理 一、创建元素节点 1、使用函数创建新元素 创建的新元素不会自动的把新元素插入到页面中,我们还需要明确的指...

  • 关于JavaScript insertAfter 和 getEl

    调用方法:insertAfter(newElement, targetElement);1.新元素:你想插入的元素...

  • jQueryDOM操作

    创建元素 $('<标签名>') 内部插入 元素.append(参数) $(新元素).appendTo (参数) p...

  • python实现数组操作

    实现列表 python中数组即为列表 初始化列表 读取元素 更新元素 插入元素 删除元素

  • insertAfter实现

    用原生JS实现在一个dom元素后插入新的节点? 在js的dom api中有insertBefore()方法 在已知...

  • 栈和队列

    1. 栈的概念介绍和Java API 向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使...

网友评论

      本文标题:insertBefore插入新元素在目标元素之前

      本文链接:https://www.haomeiwen.com/subject/bikfoctx.html