DOM扩展

1.选择符

querySelector() :返回匹配的第一个元素,可以是ID、类名、标签名

querySelectorAll():返回所有匹配的元素组成的 NodeList 

    <div class="hello">hello</div>
    <p class="world ap">world</p>
    <a href="">baidu</a>
    <a href="">google</a>

    <script>
        var helloBox = document.querySelector(".hello");
        console.log(helloBox.innerHTML);  // hello

        var aTag = document.querySelectorAll("a");
        console.log(aTag);  // NodeList(2) [a.link, a.link]
    </script>

2.元素遍历

childElementCount:返回子元素个数(不包括文本节点和注释)

firstElementChild/lastElementChild:返回第一个/最后一个子元素

previousElementSibling/nextElementSibliing:返回前一个/后一个同胞元素

        console.log(document.body.childElementCount);  // 5
        var worldBox = document.querySelector(".world");
        console.log(worldBox.previousElementSibling.innerHTML);  // hello

可以组合几个属性避开文本节点和注释来遍历元素

        var i, len,
            child = document.body.firstElementChild;
        while (child != document.body.lastElementChild){
            // 处理child
            child = child.nextElementSibling;
        }

children:返回元素所有子元素节点

contains():元素是否包含另一个元素

3.HTML5

1.getElementsByClassName():通过类名查询

        var eles = document.getElementsByClassName("world ap");  
        console.log(eles);  //HTMLCollection [p.world.ap]

classList:可操作节点的类,有add、contains、remove、toggle等方法,浏览器支持不广泛

2.activeElement:焦点管理,文档加载期间返回null,文档加载完成后返回 <body> 标签

        var btn = document.querySelector(".btn");
        btn.focus();
        console.log(document.activeElement == btn);  // true

3.HTMLDocument状态变化

readyState:返回 loading/complete

        console.log(document.readyState);  // loading

compatMode:返回浏览器渲染模式  ,标准模式返回 “CSS1Compat”,混杂模式返回 “BackCompat”

<!DOCTYPE html>
.
.
.
console.log(document.compatMode);  // CSS1Compat
<!--<!DOCTYPE html>-->
.
.
.
console.log(document.compatMode);  // BackCompat

head:返回<head>元素

body:返回<body>元素

4.字符集属性

charset:实际使用的字符集

console.log(document.charset);  // UTF-8

5.自定义数据属性

标签前缀带有 data- 的属性,dataset 为保存了元素自定义数据属性的键值对集合

6.插入标记

innerHTML:元素所有子节点

outerHTML:元素及所有子节点

7.插入文本

innerText:返回元素中所有文本

outerText:当读取元素文本时,和innerText作用相同,当要写入时将以文本节点完全替代当前元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值