DOM基本操作

获取节点的属性

1.获取div的上一个节点

div.previousSibling;

2.获取div的上一个标签节点

div.previousElementSibling;

3.获取div的下一个节点

div.nextSibling;

4.获取div的下一个标签节点

div.nextElementSibling;

5.获取div的第一个子节点

div.firstChild;

6.获取div的第一个子标签节点

div.firstElementChild

7.获取div的最后一个子节点

div.lastChild;

8.获取div的最后一个子标签节点

div.lastElementChild

以上的获取方法ie8中不支持获取标签节点

// 封装了一个获取任意父级元素的第一个子元素的兼容版本函数
function getFirstElementChild(element) {
        if(element.firstElementChild){//如果支持该方法
            return element.firstElementChild;
        }else{
            var node=element.firstChild;
            while(node&&node.nodeType!=1){//node存在且node不是标签节点
                node=node.nextSibling;
            }
            return node;
        }
    }

9.获取div的所有子节点

div.childNodes;//子节点
div.children;//子元素

10.获取父节点

 div.parentNode//父级节点
 div.parentElement//父级元素,ie标准

11.获取文本

div.innerHTML//获取或修改子元素的文本结构
div.outerHTML;//自己和子元素的文本结构
div.innerText//获取或修改文本内容 ,只适用于双标签
表单元素.value//获取或修改表单元素的显示内容,文本内容不变

// 封装了一个获取标签之间的文本信息兼容版本函数
    function getText(element) {
        if(element.innerText) {
            return element.innerText;   //IE8及之前的浏览器支持,现在两者都支持
        }else {
            return element.textContent; //低版本的火狐支持
        }
    }

12.获取节点的属性

div.nodeType;//节点的类型(1------标签节点,2------属性节点,3------文本节点)
div.nodeName;//节点的名字(大写的标签名------标签节点,小写的属性名------属性节点,#next------文本节点)
div.nodeValue;//节点得值(null-----标签节点,属性值------属性节点,文本内容-----文本节点)

13.获取body标签

document.body

14.获取title的值

document.title

15.获取html

document.documentElement

获取节点的方法

1.判断该节点是否有子节点,返回布尔值

 节点.hasChildNodes();

2.获取id名为该字符串的节点,返回一个元素对象

document.getElementById("id值");

3.获取类名为该字符串的节点,返回节点集合

document.getElementsByClassName("类名")

4.获取name属性得值为该字符串的节点,返回节点集合

document.getElementsByName("name值")

5.获取标签为该字符串的节点,返回节点集合

document.getElementsByTagName("标签")

6.获取该选择器的节点,返回一个节点

document.querySelector("选择器的名字")

7.获取该选择器的节点,返回节点集合

 document.querySelectorAll("选择器的名字")

文本操作

div.appendData("内容")//在div文本节点后面添加该内容
div.deleteData(start,length)//将从start处删除length个字符
div.insertData(start,添加的内容)//插入文本
div.replaceData(start,length,替换后的内容)//替换文本
splitData(offset);//在offset处分割文本节点

创建节点

var myp=document.createElement("标签");//创建一个标签节点
var mytext=document.createTextNode("内容");//创建一个文本节点
var myattr=document.createAttribute("属性名"); //对某个节点创建属性

在标签之后插入节点

myp.appendChild(mytext);//将文本内容加在标签中
div.appendChild(myp);//将p标签节点加到div节点的最后面

在标签之前插入节点

 div.insertBefore(新节点,标签);

移动节点

div1.appendChild(div2);//将div2节点放入div1节点

删除节点

div1.removeChild(div2);//删除div1节点中的div2节点

替换节点

div.replaceChild(新节点,原节点);

克隆节点

let newnode=div.cloneNode(true);//true复制所有,false不复制子节点
div.appendChild(newnode);

获取属性

div.getAttribute("属性名");//获取为该属性名的属性值

设置属性

div.setAttribute("属性名","属性值");//设置该属性名的属性值

dom浏览器获取div的最终样式

document.defaultView.getComputedStyle(div,null).属性名

ie浏览器获取div的最终样式

 div.currentStyle.属性名;

封装获取浏览器最终样式的函数

function getStyle(element, attr) {
        //判断浏览器是否支持这个方法
        return window.getComputedStyle ? window.getComputedStyle(element, null)[attr] : element.currentStyle[attr];
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值