红宝书 第11章整理——DOM扩展

这章讲的是一些新兴的,或者刚刚被纳入规范的一些,操作DOM的属性方法

1、选择符API

通过CSS选择符(比如id为#,class为.)来直接在js中选择DOM元素。jQuery的核心就是这个

① querySelector()

接受一个css选择符,返回找到的与之匹配的,第一个元素。

var a = document.querySelector("body")    //选body元素

var a  = document.querySelector("#my")     // 选ID名为my的

var a = document.querySelector(".my")       // 选class名为my的第一个元素

② querySelectorAll()

与前一个一样,但就是返回所有,比如class名,会返回一个nodelist


2、HTML5中DOM的扩展

①类的扩展

1、getElementByClassName()

接受的参数可以有多个,就是返回所有它们的元素,nodelist形式返回

2、classList()

当一个元素同时属于多个class时,可以用这个,可以配合它的方法

div.classList.add("fun")      //为div元素添加fun的类

还有查询contains,remove删除,toggle替换

②自定义数据属性

在html5中,可以添加自定义的属性,在标签中写的时候要加data-前缀,在js中访问时,要通过dataset.来访问,此时去掉前缀

<div data-app="aaa" data-my="bbb">

div.dataset.app

div.dataset.my

③ 插入标记

纳入规范的有:innerHTML,outerHTML

innerHTML:

会返回调用节点内部的所有子节点,包括元素注释和文本节点,不要局限于只写text,还可以直接写innerHTML=“”<p>...</p><div></div>“”之类的

outerHTML:

比inner的多一个返回自己本身,所以用outer进行写入时,会覆盖之前的那个节点

被替换和被覆盖的元素如果之前有绑定函数,那么函数不会跟着消失,而是成为孤儿占在内存中,所有可能会导致内存占用问题

__________________________________________________

还没有纳入规范的有:innerText,outerText

区别:就是返回纯纯的text文本节点,其他全不要,所以可以用来筛选过滤。inner与outer的区别同上。暂时没有纳入规范,就是可能有点浏览器不支持

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值