今日内容

BOM操作

BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。

windows对象

window.innerHeight 浏览器窗口的内部高度
window.innerWidth 浏览器窗口的内部宽度
* window.open('网址','','长度宽度') 打开新窗口
* window.close 关闭当前窗口

navigator对象

*navigator.userAgent 客户端绝大部分信息(爬虫必备 标识自己是一个浏览器)
navigator.appName Web浏览器全称
navigator.appVersion Web浏览器厂商和版本的详细字符串
navigator.platform 浏览器运行所在的操作系统

history对象

history.back() 后退一页
history.forward() 前进一页

location对象

* location.href 获取当前url
* location.herf = 'url' 跳转到指定页面
* location.reload() 重新加载页面

弹出框

alert("") 警告框
confirm("") 确认框
prompt("") 提示框

警告框(alert):

警告框经常用于确保用户可以得到某些信息
当警告框出现 用户需要点击确定按钮才能继续进行操作

确认框(confirm):

确认框用于使用户验证或者接受某些信息
当确认框出现后 用户需要点击确定或者取消按钮才能继续进行操作
如果用户点击确认 返回值为true
如果用户点击取消 返回值为false

提示框(prompt):

提示框经常用于提示用户在进入页面前输入某个值
当提示框出现后 用户需要输入某个值 然后点击确认或者取消按钮才能继续操作
当用户点击确认 返回值为输入的值
当用户点击取消 返回值为null

计时相关(重要):

开启定时任务:setTimeout()

setTimeout('js语句',毫秒)

取消定时任务:clearTimeoyt()

var t = setTimeout('js语句',毫秒)
clearTimeout(t) setTimeout()会返回一个值 可以用变量名接收它 取消的时候()里填变量名

循环定时任务:setInterval()

setInterval("JS语句",时间间隔 毫秒)

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

取消循环定时任务:clearInterval()

let t = setInterval("JS语句",时间间隔 毫秒)
clearInterval(t) setIntervalt()会返回一个值 可以用变量名接收它 取消的时候()里填变量名

DOM操作

DOM(Document Object Model)是一套对文档的内容进行抽象和概念化的方法。 

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。

查找标签:

1.js中变量的命名风格推荐是驼峰体
2.js代码查找到的标签如果需要反复使用可以用变量名接收 规律是xxEle
document.getElementByID 根据ID查找 结果就是标签本身
document.getElementsByClassName 根据类查找 结果是数组里面含有多个标签对象
document.getElementsByTagName 根据标签获取标签合集 结果是数组里面含有多个标签对象

涉及到DOM操作的JS代码应该放在body最下面

间接查找:

parentElement 父节点标签
children 所有子标签
firstElementChild 第一个子标签元素
lastElementChild 最后一个子标签元素
nextElementSibling 下一个兄弟标签
previousElementsSibling 上一个兄弟标签元素

操作节点

//js代码创建一个标签
undefined
let aEle = document.createElement('a')
//js代码操作标签属性 =>只能添加默认的属性
undefined
aEle.href = 'http://www.baidu.com/'
'http://www.baidu.com/'
//js代码添加文本
undefined
aEle.innerText = '我是小李'
'我是小李'
//js代码查找div标签并将a追加到div底部
undefined
let divEle = document.getElementsByTangName('div')
divEle.appendChild(aEle)
createElement 创建一个标签
somenode.appendChild(newnode) 追加一个子节点(作为最后的子节点)
somenode.insertBefore(newnode,某个节点) 把增加的节点放到某个节点的前边
somenode.removeChild(要删除的节点) 删除节点
somenode.replaceChild(newnode, 某个节点) 替换节点
setAttribute() 兼容默认属性和自定义属性
.innerText 获取标签内部所有文本内容
.innerText = '文本' 替换/设置标签内部的文本(不识别标签语法)
.innerHTML 获取标签内部所有的标签包含文本
.innerHTML = '文本' 替换/设置标签内部的文本(识别标签语法)

获取值操作

1.针对用户输入的和用户选择的标签

​ 标签对象.value

2.针对用户上传文件数据

​ 标签对象.files fileList[文件对象、文件对象、文件对象]

​ 标签对象.files[0] 文件对象

class与css操作

1.js操作标签css样式

变迁对象.style.属性名(下划线变成驼峰体)

2.js操作标签class属性

className 获取所有样式类名(字符串)
classList.remove(cls) 删除指定类
classList.add(cls) 添加类
classList.contains(cls) 存在返回true,否则返回false
classList.toggle(cls) 存在就删除,否则添加

事件

事件可以简单理解为通过js代码给html标签绑定一些自定义的功能

常见事件:

onclick 单击触发事件
onfocus 元素获得焦点
onblur 元素失去焦点
onchange 域的内容被改变

绑定事件的多种方式:

//方式1
<button onclick="showMsg()">快按我</button> //方式2
<input type="button" value="快快快" id="d1"> <script>
function showMsg() {
let msg = confirm('确定要按吗')
console.log(msg)
}
let inputEle = document.getElementById('d1')
inputEle.onclick=function () {
alert('别乱点')
console.log(inputEle)
}

事件函数中的this关键字:

this指代的就是当前被操作的标签对象本身
如果时间函数内有多层嵌套 那么最好在一开始用变量存储一下防止后续变化 window.onload方法
xxx.onload 等待xxx加载完毕之后再执行后面的代码

事件实际案例:

input框:
<input type="text" value="" id="d1" placeholder="用户名"> <script>
let inputEle = document.getElementById('d1')
inputEle.onfocus = function (){
this.placeholder=''
}
inputEle.onblur=function (){
this.value='下次'
}
校验用户名和密码:
<p>username:
<input type="text" id="d1">
<span style="color: red"></span>
</p>
<p>password:
<input type="text" id="d2">
<span style="color: red"></span>
</p>
<button id="sub">提交</button> <script>
//1.查找提交按钮的标签
subEle = document.getElementById('sub')
//2.给按钮标签绑定单击事件
subEle.onclick = function (){
//3.查找获取用户输入的标签
let usernameEle = document.getElementById('d1')
let passwordEle = document.getElementById('d2')
if(usernameEle.value === 'jason'){
usernameEle.nextElementSibling.innerText = '用户名不能是jason'
}
if(passwordEle.value=== '123'){
passwordEle.nextElementSibling.innerText = '密码不能是123'
}
}

jQuery类库

"""
IE浏览器:前端针对IE有时候需要单独再编写一份代码
"""
Write less, do more 写的更少做的更多 1.加载速度快
2.选择器更多更好用
3.一行代码走天下
4.支持ajax请求(重点)
5.兼容多浏览器 准备工作
1.下载核心文件到本地引入(没有网络也可以使用)
<script src="jQuery3.6.js"></script>
2.CDN网络资源加载(必须有网络才可以使用)
https://www.bootcdn.cn/
https://cdn.bootcdn.net/ajax/libs/jquery/3.6.1/jquery.js
https://cdn.bootcdn.net/ajax/libs/jquery/3.6.1/jquery.min.js 什么是CDN
内容分发网络 jQuery导入之后需要使用关键字才可以使用
默认的关键字就是jQuery但是不好输入 >>>: $ jQuery封装了JS代码 让编写更简单 但是有时候JS代码更快 js代码与jQuery代码对比
let pEle = document.getElementsByTagName('p')[0]
undefined
pEle.style.color = 'red'
'red'
pEle.nextElementSibling.style.color = 'green' $('p').first().css('color','yellow').next().css('color','blue')

标签对象与jQuery对象

1.不同的对象能够调用的方法是不同的
在编写代的时候一点过要看清楚是什么对象
2.两者可以互相转换
标签对象转jQuery对象
$(标签对象)
jQuery对象转标签对象
jQuery对象[0]

BOM、DOM、两者查找标签的方式和操作标签的方式、操作class和css的方法、事件、jQuery类库的更多相关文章

  1. 常用BOM操作 DOM操作 事件 jQuery类库

    目录 BOM操作 常用BOM操作 三种弹出框 alert confirm prompt 定时任务 setTimeout 循环定时 setInterval DOM操作 查找标签 直接查找 间接查找 操作 ...

  2. 12月6日内容总结——BOM、DOM、两者查找标签的方式和操作标签的方式、操作class和css的方法、事件、jQuery类库

    目录 一.BOM操作 BOM概念 window对象 window的子对象 navigator对象(了解即可) screen对象(了解即可) history对象(了解即可) location对象 弹出框 ...

  3. JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}

    前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...

  4. Dom,查找标签和操作标签

    Dom,查找标签和操作标签 文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式 ...

  5. 6、前端--DOM操作(查找标签、节点操作、获取值操作、class操作、样式操作、绑定事件、内置参数this)

    DOM操作之查找标签 前缀关键字>>>:document # 基本查找(核心) document.getElementById 根据ID获取一个标签 document.getElem ...

  6. js BOM DOM

    BOM对象 BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相关的动作. 简而言之就是使 JavaScript ...

  7. BOM&DOM

    BOM(浏览器对象模型) 1. location相关 . location.href 获取当前url . location.href="http://www.sogo.com" 跳 ...

  8. BOM DOM jQuery

    . BOM . location相关 . location.href . location.href="http://www.sogo.com" . location.reload ...

  9. JavaScript BOM DOM 对象

    title: JavaScript BOM DOM 对象 tags: JavaScript --- browser object model document onject model BOM对象 w ...

随机推荐

  1. springboot+mybatis+shiro项目中使用shiro实现登录用户的权限验证。权限表、角色表、用户表。从不同的表中收集用户的权限、

    要实现的目的:根据登录用户.查询出当前用户具有的所有权限.然后登录系统后.根据查询到的权限信息进行不同的操作. 以下的代码是在搭好的框架之下进行的编码. 文章目录 核心实现部分. 第一种是将用户表和角 ...

  2. 7 步保障 Kubernetes 集群安全

    随着 Kubernetes 的发展和改进,新的安全威胁和风险也逐渐向 K8s 转移,因此 K8s 安全性变得越来越重要,而保护 K8s 集群已成为 DevOps 团队不容忽视的重要任务.K8s 有多种 ...

  3. SpringBoot→Maven项目快速搭建

    使用软件 :SpringToolSuite4 打开软件后在Package Explorer 栏中点击右键 Spring starter project 等待反应 填写完毕之后点击next     fi ...

  4. Unity——滚动的小球

    Unity--滚动的小球 工程理解 本游戏为通过键盘上的W.A.S.D键控制小球的运动轨迹来对固定位置上的小方块进行碰撞,以此来进行加分计数的. 其中主要对象为小球和自转的小方块:在小球上,我们添加刚 ...

  5. .NET API 接口数据传输加密最佳实践

    .NET API 接口数据传输加密最佳实践 我们在做 Api 接口时,相信一定会有接触到要给传输的请求 body 的内容进行加密传输.其目的就是为了防止一些敏感的内容直接被 UI 层查看或篡改. 其实 ...

  6. 重新整理 .net core 实践篇 ———— linux上排查问题 [外篇]

    前言 简单介绍一下在排查问题.献给初学者. 该文的前置篇: https://www.cnblogs.com/aoximin/p/16838657.html 正文 什么是linux系统 linux 是基 ...

  7. [Pyhton] SimPy 离散事件模拟框架详解 —— 以一个简单的汽车充电排队模拟为例

    目录 一.背景知识 二.SimPy 讲解 2.1 SimPy 概述 2.2 基本概念 2.3 一个汽车开开停停的例子 2.4 在走走停停过程中增加充电过程(过程交互) 2.5 共享资源 三.后续 参考 ...

  8. MFC 学习笔记

    MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...

  9. springboot的全局异常处理类

    import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import or ...

  10. gin-巧用Context传递多种参数

    目录 引言: 1.巧妙包装gin.Context为NewContext 2 在使用gin.Use对每一个请求的Context进行组装 3 在路由绑定时解析出NewContext来为应用层函数提供参数, ...