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 ) }}
最简单的方法就是用元素的innerHTML属性赋值,如:myNewElement.innerHTML = “我是文本”但这样不能清晰的体现DOM中新增加了一个文本节点。
然后另一种添加文本节点的方式,可分为两步:
1、创建节点:文本节点的创建使用createTextNode方法,如:var myText = document.createTextNode(“我是文本”)
2、将创建的节点用appendChild方法添加某个元素下。如:myNewElement.appendChild(myText)这样myNewElement就有myText的文本节点,文本节点的内容是“我是文本”即可。
获取属性节点
第一种方法:获取官方定义的属性节点(获取元素的对应属性值)。
格式:元素节点,属性名。
注意:不能获取自定义属性的值。
代码如下:
console.log(jsInput.placeholder)
alert("是时候展现真正的技术")
设置属性节点的值
公式:元素节点 . 属性名 = 新的属性值
代码如下:
//设置元素对应属性的值
//元素节点.属性名 = 新的属性值
jsInput.placeholder = "sunck good"
第二种方法
公式:元素节点 . getAttribute(属性名)
注意:还可以获取自定义属性的值。
代码:
console.log(jsInput.getAttribute("my"))
设置自定属性的值
公式:元素节点 . setAttribute(属性名, 新属性值)
注意:当属性不存在时,变为添加属性
代码:
//设置
//元素节点.setAttribute(属性名, 新属性值)
jsInput.setAttribute("my", "sunck")
//注意:当属性不存在时,变为添加属性
jsInput.setAttribute("other", "sunck")
删除属性节点
公式:元素节点.removeAttribute(属性名)
注意:某些低版本浏览器不支持
代码:
jsInput.removeAttribute("other")
console.log(jsInput)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)