Vue 开发的基础,前端的必备

首先

  • vueReact 框架应用广泛,封装了 DOM 操作
  • 但是 DOM 操作一直都是前端工程师的基础、必备知识
  • 只会 Vue 而不懂 DOM 操作的前端程序员,不会长久

DOM 是哪种数据结构?

这个dom树有一个根节点<html>标签,由这个根,你的每一个<meta>标签,<p>标签,<title>,<h1>等等,以及他们的文本内容,在上面生长,我们可以很轻松的在这颗树上定位到他们的位置!
在这里插入图片描述
DOM 节点的操作:

DOM 操作的常用API

获取DOM 节点

  1. 无需查找的元素
    不需要查找,就可直接获得的元素/对象有 4个;
    (1)根节点对象:document
    (2)html元素节点对象:document.documentElement
    (3)head元素节点对象:document.head
    (4)body元素节点对象:document.body

  2. 按节点间关系查找
    .在这里插入图片描述

  3. 按 HTML 特征查找

  • document.getElementById("id名") 返回带有指定 ID 的元素。
  • document.getElementsByTagName("标签名") 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
  • document.getElementsByClassName("class名" 返回包含带有指定类名的所有元素的节点列表。
  • document.getElementsByName("name名") 返回类数组对象如果没找到,返回空类数组对象: {length:0}。

4.CSS 选择器查找

  • var 一个元素对象 = 任意父元素.querySelector("选择器")
  • var 类数组对象 = 任意父元素.querySelectorAll("选择器");

attributeproperty 的区别?

  • property 是 通过 js 的操作样式或者class属性的形式

如:

const pList = document.querySelectorAll('p')
cosnt p = pList[0];

console.log(p.style.width)  // 获取样式
p.style.width = '100px';  // 修改样式

console.log(p.className)  // 获取class
p.className = 'p1'  // 修改class

console.log(p.nodeName)  // 获取节点名称
console.log(p.nodeType)  // 获取节点类型
  • attributecss 操作

如 :

const pList = document.querySelectorAll('p')
cosnt p = pList[0];

p.getAttribute('name')
p.setAttribute('name','data-demo')  // 修改的标签name属性 值为 data-demo

p.getAttribute('style')
p.setAttribute('style','font-size:30px')  // 修改的标签style属性 值为 font-size:30px

DOM节点的操作

  • 新增p标签节点 const newp = document.createElement('p')
  • 设置标签内容 newp.innerHtml = 'This is a p'
  • div插入节点p div1.appendChild(newp)
  • 删除节点 div1.removeChild()

DOM 性能

  • DOM操作非常昂贵,避免频繁的操作DOM
  • DOM查询做缓存
  • 将频繁操作做成一次性操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公诚士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值