【前端笔记】一、DOM和BOM

本文详细讲解了如何通过DOM操作在HTML中创建、查找和删除节点,以及如何利用BOM进行事件监听,如点击事件驱动背景颜色变化。涵盖了JavaScript操作DOM和BOM的基础实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

DOM

DOM(Document Object Model),即文档对象模型

常用节点操作

  1. 创建节点:document.createElement
  2. 添加节点:element.appendChild
  3. 删除节点:element.removeChild
  4. 查找节点:document.getElementByIddocument.getElementsByClassNamedocument.querySelectordocument.querySelectorAlldocument.getElementsByTagName()

举例:
在这里插入图片描述

<!--html页面-->
<html>
<head>
</head>
<body>
  <div id='div1'>
    <div id = 'div1-1'> div1-1</div>
    <div id = 'div1-2'> div1-2</div>
  </div>
</body>
</html>
/*css样式*/
* {
    margin: 0;
    padding: 0;
  }
  #div1 {
    width: 400px;
    height: 300px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: rgba(0,122,204,0.7);
  }
  #div1 > div{
    width: 100px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0,122,204);
  }
  • 查找结点
var element = document.getElementById('div1-1')  //根据id查找结点
element.innerText = 'div1-1节点'  //修改innerText属性

var element2= document.getElementById('div1-2')  //根据id查找结点
element2.innerText = 'div1-2节点'   //修改innerText属性 
  • 删除节点
var childElement1 = document.getElementById('div1-1')  //定位到要删除的节点div1-1
var childElement2 = document.getElementById('div1-2')  
var ParentElement = document.getElementById('div1')  //找到节点div1-1的父节点div1
ParentElement.removeChild(childElement1)  //移除子节点

在这里插入图片描述

  • 创建节点
var parentElement=document.getElementById('div1')
var chlldElement3=document.createElement('div')
parentElement.appendChild(chlldElement3)
chlldElement3.innerText='新增节点div1-3'

在这里插入图片描述

DOM的事件

包括单击双击,键盘,滚轮,鼠标移入移出等

事件参数e是事件触发时,浏览器传给事件触发函数的一个参数对象,e里面包括了鼠标的坐标信息(鼠标在屏幕的坐标)、键盘的按键信息(键盘按了哪个键)等

js事件的冒泡指的是事件从子元素向父元素「渗透」的过程,给一个元素绑定点击事件,有addEventListener和onclick等多种方式,onclick只能给元素点击事件绑定一个事件,addEventerListener可以绑定多个。

eg:点击div1-1,div1变黄,点击div1-2,div1变红

  1. 找到div1-1,div1-2
  2. 监听div1-1,div1-2上的「点击」事件
  3. 写触发【点击】事件之后的逻辑
    a. 找到div1
    b. 改变div1的背景颜色
var element = document.getElementById('div1-1')
var element2=document.getElementById('div1-2')
element.onclick = function (e) {
  var parentEle = document.getElementById('div1')
  parentEle.style.backgroundColor = 'yellow'
}
element2.onclick = function (e) {
  var parentEle = document.getElementById('div1')
  parentEle.style.backgroundColor = 'red'
}
//点击div1-2,新增节点
var element1 = document.getElementById('div1-1')
var element2 = document.getElementById('div1-2')
var parentElement = document.getElementById('div1')
element1.onclick=function (e){//点击div1-1,删除div1-3
  var element3 = document.getElementById('div1-3')
  parentElement.removeChild(element3)
}

element2.onclick = function (e) {//点击div1-2,新增节点
  var childElement = document.createElement('div')
  childElement.innerText='新增节点'
  parentElement.appendChild(childElement)
}

BOM

BOM(Browser Object Model),即浏览器对象模型,是浏览器提供的一个对象,用来操作浏览器。

BOM核心对象是 window,window 对象包含了6大核心模块:

  • document:文档对象
  • frames:窗口中所有命名的框架
  • history:当前页面历史记录
  • location:当前页面地址信息
  • navigator:浏览器相关信息
  • screen:用户显示屏幕相关属性

参考:
前端入门
然代码

资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在本文中,我们将探讨如何通过 Vue.js 实现个带有动画效果的“回到顶部”功能。Vue.js 是款用于构建用户界面的流行 JavaScript 框架,其组件化响应式设计让实现这种交互功能变得十分便捷。 首先,我们来分析 HTML 代码。在这个示例中,存在个 ID 为 back-to-top 的 div 元素,其中包含两个 span 标签,分别显示“回到”“顶部”文字。该 div 元素绑定了 Vue.js 的 @click 事件处理器 backToTop,用于处理点击事件,同时还绑定了 v-show 指令来控制按钮的显示与隐藏。v-cloak 指令的作用是在 Vue 实例渲染完成之前隐藏该元素,避免出现闪烁现象。 CSS 部分(backTop.css)主要负责样式设计。它首先清除了些默认的边距填充,对 html body 进行了全屏布局,并设置了相对定位。.back-to-top 类则定义了“回到顶部”按钮的样式,包括其位置、圆角、阴影、填充以及悬停时背景颜色的变化。此外,与 v-cloak 相关的 CSS 确保在 Vue 实例加载过程中隐藏该元素。每个 .page 类代表个页面,每个页面的高度设置为 400px,用于模拟多页面的滚动效果。 接下来是 JavaScript 部分(backTop.js)。在这里,我们创建了个 Vue 实例。实例的 el 属性指定 Vue 将挂载到的 DOM 元素(#back-to-top)。data 对象中包含三个属性:backTopShow 用于控制按钮的显示状态;backTopAllow 用于防止用户快速连续点击;backSeconds 定义了回到顶部所需的时间;showPx 则规定了滚动多少像素后显示“回到顶部”按钮。 在 V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值