2024年最新快速搞定前端JS面试 -- 第六章 JS-Web-API-DOM,毕业一年萌新的前端大厂面经

最后

如果你已经下定决心要转行做编程行业,在最开始的时候就要对自己的学习有一个基本的规划,还要对这个行业的技术需求有一个基本的了解。有一个已就业为目的的学习目标,然后为之努力,坚持到底。如果你有幸看到这篇文章,希望对你有所帮助,祝你转行成功。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

只会vue而不懂DOM操作的前端程序员不会长久

要点

  1. DOM 网页的DOM元素文本图片等

  2. BOM 浏览器相关(导航,ul,跳转)

  3. 事件绑定

  4. Ajax网络请求

  5. 存储

第六章 JS-Web-API-DOM

==================

DOM (Document Object Model) 译为文档对象模型,是 HTML 和 XML 文档的编程接口。

HTML DOM 定义了访问和操作 HTML 文档的标准方法。DOM 以树结构表达 HTML 文档

一、DOM的本质

二、DOM节点操作

1.获取DOM节点

2. Property

3. Attribute

三、DOM结构操作

1. 新增/插入节点

2. 获取子元素列表,获取父元素

3. 删除子元素

四、DOM性能

五、问题解答

1. DOM是那种数据结构?

2. DOM操作常用的API?

3. Attr和property的区别?

4. 一次性插入多个DOM节点,考虑性能

六、小结


题目

  1. DOM是那种数据结构?

  2. DOM操作常用的API?

  3. Attr和property的区别?

  4. 一次性插入多个DOM节点,考虑性能

知识点

  1. DOM的本质

  2. DOM节点操作

  3. DOM结构操作

  4. DOM性能

一、DOM的本质


Xml是一种可扩展的标记语言,可以描述任何一种结构的数据

Html是一种特定的xml,结构和xml相同,但规定了标签的名称规范

DOM的本质是从html解析出来的一棵树

dom 演示

一段文字 1

一段文字 2

一段文字 3

    二、DOM节点操作


    1.获取DOM节点

    2. Property

    3. Attribute

    const div1 = document.getElementById(‘div1’)

    console.log(‘div1’, div1)

    const divList = document.getElementsByTagName(‘div’) // 集合

    console.log(‘divList.length’, divList.length)   // 2

    console.log(‘divList[1]’, divList[1])     // 第二个div

    const containerList = document.getElementsByClassName(‘container’) // 集合

    console.log(‘containerList.length’, containerList.length)   // 2

    console.log(‘containerList[1]’, containerList[1])    // 第二个div

    const pList = document.querySelectorAll(‘p’)    // css选择器

    console.log(‘pList’, pList)

    const pList = document.querySelectorAll(‘p’)

    const p1 = pList[0]

    // property 形式,修改JS变量的属性,不会对标签产生影响

    p1.style.width = ‘100px’

    console.log( p1.style.width )     // 获取样式:100px

    p1.className = ‘red’

    console.log( p1.className )     // 获取className:red

    console.log(p1.nodeName)     // p

    console.log(p1.nodeType)     // 1类型

    // attribute形式,修改了标签的属性

    p1.setAttribute(‘data-name’, ‘imooc’)

    console.log( p1.getAttribute(‘data-name’) )

    p1.setAttribute(‘style’, ‘font-size: 50px;’)

    console.log( p1.getAttribute(‘style’) )

    Property和attribute

    Property:修改对象属性,不会体现到html结构中

    Attribute:修改html属性,会改变html结构

    两者都有可能引起DOM重新渲染

    (使用建议:尽量用property操作,如果必须要改变标签结构时使用attribute)

    一些常用的 HTML DOM 方法

    getElementById(id) - 获取带有指定 id 的节点(元素)

    appendChild(node) - 插入新的子节点(元素)

    removeChild(node) - 删除子节点(元素)

    一些常用的 HTML DOM 属性:

    innerHTML - 节点(元素)的文本值

    parentNode - 节点(元素)的父节点

    childNodes - 节点(元素)的子节点

    attributes - 节点(元素)的属性节点

    三、DOM结构操作


    最后

    如果你已经下定决心要转行做编程行业,在最开始的时候就要对自己的学习有一个基本的规划,还要对这个行业的技术需求有一个基本的了解。有一个已就业为目的的学习目标,然后为之努力,坚持到底。如果你有幸看到这篇文章,希望对你有所帮助,祝你转行成功。

    开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

    • 3
      点赞
    • 7
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值