javascript添加与前div相同的内容并且放在前div的后面的完整解决方法是:创建元素、插入元素完成要求。
完整处理代码是:
<div id=”divs”>。
<div id=”div1″>div1</div>。
<div id=”div2″>div2</div>。
</div>。
<script>。
var oDivs=document.getElementById(‘divs’)。
var oDiv2=document.getElementById(‘div2′)//获取到div2,因为等下要把创建的div插入到div2前面。
var oDiv3=document.createElement(‘div’)//创建一个div元素。
oDiv3.id=’div3′//id样式可以先在样式表中写好,然后赋值一个id给创建出来的div元素。
oDiv3.innerHTML=’<span>这是被创建出来的div3</span>’//给创建出来的div添加内容,内容中可以有html标签嵌套。
oDivs.insertBefore(oDiv3,oDiv2)//在大的div元素下插入创建出来的元素,第一个参数是创建的div,第二个参数是要插入到哪个div前面。
oDivs.insertBefore(oDiv3,oDiv2.nextSibling)//在大的div元素下插入创建出来的元素,第一个参数是创建的div,第二个参数是要插入到哪个div后面。
javascript在指定的元素前或后插入新元素的方法是:
insertBefore()方法,可以实现把一个新元素插入到现在元素的前面,与现有元素形成兄弟关系。
1、新元素,你想插入的新元素(newElement)。
2、目标元素,你想把新元素插入到哪个元素的前面(targetELement)。
3、父元素,目标元素的父元素(parentElement)。
语法是:parentElement.insertBefore(newElement,targetElement)。
第一种function insertEle() { var oTest = document.getElementById("box-one")var newNode = document.createElement("div")var reforeNode = document.getElementById("p1")newNode.innerHTML = " This is a newcon "oTest.insertBefore(newNode,reforeNode.nextSibling)//新建的元素节点插入id为P1节点元素的后面。 }
第二种// 自定义函数向后插入function insertAfter( newElement, targetElement){ var parent = targetElement.parentNode if ( parent.lastChild == targetElement ) {// 如果最后的节点是目标元素,则直接添加。因为默认是最后parent.a( newElement ) } else {//如果不是,则插入在目标元素的下一个兄弟节点的前面。也就是目标元素的后面parent.insertBefore( newElement, targetElement.nextSibling ) }}
//1、首先获取div的父节点//2、创建一个新节点
//3、将新节点添加到div节点后面
//具体操作如下:
var divs = document.getElementsByTagName("DIV")//获取页面中所有div
for(var i=0i<divs.lengthi++) {
var div = divs[i]//获取第i个div
var divParent = div.parentNode//获取该div的父节点
var newNode = document.createTextNode("文本节点")//创建文本节点
var next = div.nextSibling//获取div的下一个兄弟节点
//判断兄弟节点是否存在
if(next) {
//存在则将新节点插入到div的下一个兄弟节点之前,即div之后
divParent.insertBefore(newNode,next)
} else {
//不存在则直接添加到最后,appendChild默认添加到divParent的最后
divParent.appendChild(newNode)
}
}
//以下是一些常用js操作
var textNode = document.createTextNode("xxx")//创建文本节点
var elementNode = document.createElement("p")//创建元素节点(p)
var body = document.getElementsByTagName("body")[0]//获取body节点
body.appendChild(elementNode)//元素节点添加到body节点下,添加在末尾
elementNode.appendChild(textNode)//将文件节点添加到元素节点下
//获取要删除的节点,elementNode.length-1 表示最后一个指定节点(这里表示最后一个p节点)
var delElementNode = elementNode.item(elementNode.length-1)
body.removeChild(delElementNode);//移除指定节点
body.insertBefore(newNode, oldNode)//在body中的oldNode前插入newNode节点
body.replaceChild(newNode, oldNode)//将body中的oldNode替换为newNode节点
//创建一个新的属性
var style = document.createAttribute("style")
//为节点添加新属性
option.attributes.setNamedItem(style)
//设置新属性的值
option.setAttribute("style","color:red")