为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第13天 从函数到函数式编程之路

标签:
JavaScript

课程名称:破解JavaScript高级玩法
课程章节:第7章 如果不用vue,react框架,如何操作DOM?
主讲老师:Cloud

课程内容:

今天学习的内容包括:
7-4 慧眼区分几个近亲属性——长相差不多的属性,学习了解。

课程收获:

HTMLElement.innerText VS Node.textContent
  • HTMLElement.innerText:表示一个节点以及后代被渲染的文本内容
  • Node.textContent:表示一个节点以及其后代节点的文本内容
innerText与textContent区别
Node.textContent HTMLElement.innerText
style,script标签,隐藏的内容(比如display:none ) 包含 不包含
<br/> 无效 有效
\t、\r、\n等 有效 剔除
连续空格 有效 合并为一个
总结
  • 最大区别:innerText可操作已被渲染的内容,而textContent不会
  • innerText受样式影响会触发浏览器绘制部分或全部页面,带来性能问题,尽可能使用textContent
Node.nodeValue VS value: nodeValue
  • 对于text, comment,和CDATA节点来说, nodeValue返回该节点的文本内容
  • 对于attribute节点来说,返回该属性的属性值
Node.nodeValue
  • text, comment,和CDATA对应下面表格的nodeType的值3,8,4
value
  • 特定的一些HTMLElement元素,用value属性获取其值
Node.nodeValue与value的区别
  • nodeValue是文本节点,属性节点,注释节点等类型的节点用来取文本/值的属性。
  • vlaue是特定的元素节点用来取值的属性。
clientWidth,offsetWidth,scrollWidth-几个概念
  • 内容:content
  • 内边距:padding
  • 边框:border
  • 外边距:margin
  • 滚动条
clientWidth
  • Element.clientWidth(元素宽度)
  • width + 左右padding (不包含border,margin,滚动条)
offsetWidth
  • HTMLElement.offsetWidth(元素布局宽度)
  • width + 左右padding + 左右border + 滚动条(不包含margin)
scrollWidth
  • Element.scrollWidth(元素内容宽度)
  • scrollWidth 是测量元素内容宽度,包括由于overflow溢出而在屏幕上 不可见的内容。
节点位置关系-总结
  • compareDocumentPosition 返回的是数字,带组合意义的数据,不仅仅可以返回包含,还可以返回在之前之后等信息
  • contains 返回的是布尔值,仅仅告诉你是否有包含关系
大小/位置-Element.getBoundingClientRect
  • 定义:返回元素的大小及其相对于可视化窗口(视口)的位置。
大小/位置-Element.getClientRects
  • 定义:返回盒子的边界矩形集合。
  • 定义:对于行内元素,元素内部的每一行都会有一个边框;对于块级元素,如果里面没有其他元素,一整块元素只有一个边框。
加载完毕事件监听-window.onload
  • 定义:在文档装载完成后会触发 load 事件。此时,在文档中的所有对象都在DOM中,所有图片,脚本,链接以及子框架都完成了装载
加载完毕事件监听-DOMContentLoaded
  • 定义:当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表、图像和子框架(iframe)的完全加载。
  • jquery的方法
节点复制 Node.cloneNode
  • deep:true 则该节点的所有后代节点也都会被克隆
  • deep:false 则只克隆该节点本身
节点复制 Node.cloneNode 注意点
  • cloneNode deep参数在不同版本的浏览器实现中,默认值可能不一样, 所以强烈建议写上值。
  • cloneNode 会克隆一个元素节点会拷贝它所有的属性以及属性值,当然也就包括了属性上绑定的事件(比如onclick=“alert(1)”),但不会拷贝那些使用addEventListener()方法或者node.onclick = fn这种用JavaScript动态绑定的事件
节点复制 总结
  • adoptNode 从外部文档进行拷贝
  • importNode 从外部文档进行拷贝,并从外部文档删除
  • cloneNode 从本文档进行复制,有浅复制和深复制
子节点集合 childNodes,children
  • Node.childNodes: 节点的子节点集合,包括元素节点、文本节点、注释节点等
  • Element.children:返回的只是节点的元素节点集合,即nodeType为1的节点

今天 学习了 慧眼区分几个近亲属性,今天的学习只有一个感觉,属性太多了,记不住啊。对自己说一句,加油😀~

坚持打卡,坚持学习!明天见💪~

​​​https://img1.sycdn.imooc.com//636645f90001bc4a24881353.jpg

https://img1.sycdn.imooc.com//636648e300014f3525241359.jpg

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消