常用的DOM操作

时间:2022-10-30 20:08:08
常用的DOM操作

原有段落1

点击

原有段落2

(1)新增

//创建节点:createElement();
var para=document.createElement("p");
//创建文本节点
var node=document.createTextNode("这是新的段落");

(2)添加

//插入节点到最后:appendChild();
var newhtml=para.appendChild(node);
var element=document.getElementById("div1");
element.appendChild(newhtml);

//插入节点到您指定的已有子节点之前:insertBefore(需要插入的节点对象,在其之前插入新节点的子节点)
element.insertBefore(newhtml,element.childNodes[0]);

(3)复制

//复制所有属性和他们的值cloneNonde(true)
//只复制一个标签,没有内容cloneNode()
var itm=element.lastchild;//获得 div1里面最后的内容
var cln=itm.cloneNode(true);
document.getElementById(“div2”).appendChild(cln);

(4)删除
//removeChild(node)删除指定元素的某个节点
element.removeChild(element.childNode[0]);//根据标签位置删除
element.removeChild(element.getElementByTaName(“p”)[0]);//根据标签名删除

(5)替换
//replaceChild(newnode,oldnode)用新节点替换某个子节点
var newnode=document.createElement(“div”);
var newtext=document.createTextNode(“新节点内容”);
var newhtml=newnode.appendChild(newtext);
element.replaceChild(newhtml,element.childNode[0]);

(6)查找
element.hasFocus()//返回布尔值,检测文档或元素是否获取焦点
element.nodeType//返回元素的节点类型
element.value//返回元素的value值
getElementById()//这个最司空见惯的根据id定位对象的方法
getElementsByName()//根据name(名称)获取一组对象的集合
getElementsByTagName()//根据标签名来获得一组对象集合
getElementsByClassName()//其实不存在这个方法,但是我们可以根据前面的几个方法来自定义,不错吧
nextsibling//获得下一个元素对象(大概兼容性存在点问题)
previoussibling//获取上一个元素对象(兼容性有点问题)
parentElement//获取当前元素的父对象
children//所有子元素对象的集合
firstChild//第一个子节点
lastChild//最后一个子节点
parentNode//父节点
childNodes//所有子节点的集合

(7)设置节点属性
//setAttribute()创建或改变某个新属性
element.getElementsTagName(“BUTTON”)[0].setAttribute(“type”,”input”);

(8)判断元素

//hasChildNodes() 如果元素含有子节点,则返回true,否则返回false
element.hasChildNodes;//返回true

//hasArttribute() 如果存在指定属性,则返回true
element.getElementByTagName(“BUTTON”)[0].hasAttribute(“onclick”);//返回true