webAPI第一弹---JS
WEBAPI
WEb API是浏览器提供的一套操作浏览器功能,和页面元素的API,现阶段我们主要针对于浏览器讲解常用的API,主要针对浏览器做交互效果
DOM
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言(HTML或者XML)的标准编程接口。
可以通过这些接口来改变网页的neritic,结构和样式
1.API是为我们程序员提供的一个接口,帮助我们实现某种功能,我们会使用就可以了,不必纠结内部做如何实现
2.WbAP1主要是针对于浏览器提供的接口,主要针对于浏览器做交互效果。
3.Veb API一般都有输入和输出(函数的传参和返回值),Web API很多都是方法(函数)
获取元素
1.通过id获取
2.通过标签获取
3.通过类名
4.通过选择器选择
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><div class="box">盒子</div><div class="box">盒子</div><div id="time">2020.06.07<ul><li>1234</li></ul></div><ul id="three"><li>ggzx</li><li>ggzx</li><li>ggzx</li><li>ggzx</li></ul><script type="text/javascript">console.log('1.通过id获取元素对象')const time = document.getElementById('time')console.log(time)console.log(typeof time)console.log('..打印我们返回的元素对象,更好的查看里面的属性和方法')console.dir(time)console.log('2.通过标签名,返回带有该标签的集合,以为数组的形式存储')const list = document.getElementsByTagName('li')console.log(list)console.log(list[0])console.log('..得到的元素是动态的,下面通过元素修改内容,在重新输出,证明元素是动态的')for (let i = 0; i < list.length; i++) {console.log("遍历li第"+i+"个元素",list[i])}console.log('3.结合使用1,2种方法,获取某个id标签内的ul的li属性')const ul = document.getElementById('time')const li1 = ul.getElementsByTagName('li')console.log(li1)console.log('4.HTML5新增方法获取')const boxes = document.getElementsByClassName('box')console.log(boxes)console.log('5.选择器返回指定选择器的第一个元素对象,切记里面的选择器需要加符号')const firstBox = document.querySelector('.box')const id = document.querySelector('#time')const firstLi = document.querySelector('li')console.log('querySelectAll,返回指定选择器的所有对象')console.log('6.获取body和html,注意html')const body = document.bodyconst html = document.documentElementconsole.log(body,html)</script></body>
</html>
事件概述JavaScript使我们有能力创建动态页面,而事件是可以被JavaScript侦测到的行为。简单理解:触发–响应机制。
网页中的每个元素都可以产生某些可以触发JavaScript的事件,例如,我们可以在用户点击某按钮时产生一个
事件,然后去执行某些操作。
事件:
事件源:事件被触发的回想,例如按钮
获取事件源:document.getElementById(‘btn’)
事件类型:如何触发,什么事件,比如鼠标点击onclick,鼠标经过,或者是键盘按下
btn.onclick = function (){
alert(‘点击按钮’)
}
事件处理程序:通过一个函
数赋值的方式
执行事件的步骤
1.获取事件源
2.注册事件(绑定事件)
3.添加事件处理程序(采取函数赋值形式)
操作元素
修改网页内容、结构和样式
案例:点击按钮,修改div的内容为日期
<html>
<!--32-->
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body><button>显示当前系统事件</button><div>11 </div><script>const btn = document.querySelector('button')const div = document.querySelector('div')//获取元素,注册事件btn.onclick = function (){div.innerText = getDate()}function getDate() {const date = new Date();const year = date.getFullYear()const month = date.getMonth()+1const dates = date.getDate()const arr = ['星期一','星期二','星期三','星期四','星期五','星期六','星期七']const day = date.getDay()return year+'-'+month+''+dates+' '+arr[day]}</script>
</body>
</html>
#### 获取节点内容
注意:
innerTEXT显示的标签内容,该内容不包括换行和空格
innerHTML包括着该节点内部的内容以及标签内容
<html>
<!--32-->
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body><div>11</div><strong>加粗字体</strong><p>ggzx</p><script>
// 使用innerText和innerHtml获取文字const div = document.querySelector('div')div.innerText = '<strong>加粗字体</strong>'//现在就会识别html了,w3c标准div.innerHtml = '<strong>加粗字体</strong>'//使用innerText和innerHtml获取文字,htmlconst p = document.querySelector('p')console.log(p.innerText)console.log(p.innerHTML)</script>
</body>
</html>
修改元素属性
1.innerText innerHTML
2.src,href
3.id alt title
案例:点击按钮切换img中的src:图片源
<html>
<!--32-->
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body><button id="ldh">刘德华</button><button id="zxy">张学友</button><br><img src="imges/ldh.jpg"/><script>const ldh = document.getElementById('ldh')const zxy = document.getElementById('zxy')const img = document.querySelector('img')// 注册事件zxy.onclick = function (){img.src = 'imges/ldh.jpg'}ldh.onclick = function (){img.src = 'imges/zxy.jpg'}</script>
</body>
</html>
操控表单标签的属性
type value checked selected disabled
案例:登录页面的密码框,可以显示密码,可以隐藏密码
<html>
<!--32-->
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>.box{width: 400px;margin:100px auto;}.box input{height:45px;line-height:45px;width:500px;margin:0 auto;font-size:18px;padding:0;vertical-align:top;border:0;outline:none;}.box button{width:130px;height:47px;margin:0;padding:0;outline:none;border: 0 none;}</style>
</head>
<body><div class="box"><input type="password" placeholder="在此处输入密码" name="" id=""><button>显示</button></div>
<script>const btn = document.querySelector('button')const input = document.querySelector('input')btn.onclick = function () {if (btn.innerText === '显示'){input.type = 'text'btn.innerText = '关闭'}else {input.type = 'password'btn.innerText = '显示'}}
</script>
</body>
</html>
修改元素样式大小颜色位置等
1.element.style 行内样式操作
2.element.className 类名样式操作
注意:
1.样式是驼峰命名法,即style标签内font-size,在使用时候需要用.fontSize
2.JS修改style产生的是行内样式,css权重较高,能覆盖内嵌样式
<html>
<!--32-->
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>div{height: 100px;width: 100px;background-color: black;}</style>
</head>
<body><div></div><button>修改颜色</button>
<script>const box = document.querySelector('div')const btn = document.querySelector('button')console.log(btn)console.log(box)btn.onclick = function () {console.log('点击了btn')box.style.backgroundColor = 'purple'}
</script>
</body>
</html>
注意:这里直接修改sytle,style名字需要是驼峰名字
webAPI第一弹---JS相关推荐
- 自学JavaScript第一天- JS 基础
自学JavaScript第一天- JS 基础 JS 写在哪里 注释 行内 js 内部 js 外部 js JS 基础语法 语句 大小写 代码块 折行 变量 声明 var .let.const 及作用域 ...
- 2023春节祝福系列第一弹(下)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)
2023春节祝福系列第一弹(下) (放飞祈福孔明灯,祝福大家身体健康) (附完整源代码及资源免费下载) 目录 四.画一朵真实的祥云 (1).画一个渐变的白色径向渐变背景 (2).应用一个SVG feT ...
- ***测试第一弹:信息刺探
***第一弹刺探信息:freebuf 1,分析目标网站内容及功能 (1) 首先确定网站采用何种语言编写.或者是否有混用的情况.此处可以通过查看网站源文件,观察网站链接,捕获提交请求等方式获取. (2) ...
- 渗透测试第一弹:信息刺探
渗透第一弹刺探信息:freebuf 1,分析目标网站内容及功能 (1) 首先确定网站采用何种语言编写.或者是否有混用的情况.此处可以通过查看网站源文件,观察网站链接,捕获提交请求等方式获取. (2) ...
- 青瓷引擎打造HTML5游戏第一弹——《神奇的六边形》Part 4
近期出现一款魔性的消除类HTML5游戏<神奇的六边形>,今天我们一起来看看如何通过开源免费的青瓷引擎(www.zuoyouxi.com)来实现这款游戏. (点击图片可进入游戏体验) 因内容 ...
- 2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)
2023春节祝福系列第一弹(上) (放飞祈福孔明灯,祝福大家身体健康) (附完整源代码及资源免费下载) 目录 一.前言 二.一片星光闪烁的旋转星空 (1).效果展示: (2).相关源代码 (3).语法 ...
- Selenium 抓取玩加赛事数据第一弹
抓取玩加赛事的王者荣耀的相关数据第一弹--->战队基本信息 一.页面分析 1.战区分析 目前的玩加赛事王者荣耀页面,全球 和中国 的数据是完全一样的.所以抓取任务只涉及全球.后期更新任务应该考虑 ...
- 前端面试题整理——(第一弹 HTML和CSS)
文章目录 前端面试题整理--(第一弹 HTML和CSS) 1. 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? 2. 每个HTML文件里开头都有个很重要的东西,Doctype,知道这是干什 ...
- SVG图形绘制入门第一弹
IT入门的路超级漫长--任何时候都发现有完全没听过的东西,比如说下方--原来认为svg就是图片,想着也是跟Ps一样画出来的,现在知道了竟然是用代码写的--,这条路我不知道啥时候才能进步到幼儿园的级别! ...
最新文章
- 图论之tarjan缩点
- Maven项目Spring Boot启动
- 微生物生态学相关期刊2022年实时影响因子
- java性能优化权威指南_Java性能优化权威指南 PDF扫描[132MB]
- Centos7 配置静态ip地址
- ios给系统添加分类管理属性
- 对比MS Test与NUnit Test框架
- Java中按值传递与按引用传递的区别
- 【JDK】Mac版安装JDK并配置环境
- 软工网络15团队作业4——Alpha阶段敏捷冲刺之Scrum 冲刺博客(Day1)
- POJ1200 Crazy Search
- 数字媒体技术考点整理
- python编程入门第九讲_python 基础 19 习题9 讲解
- java的prefetch()_聊聊FluxFlatMap的concurrency及prefetch参数
- matlab 多子图_matlab 多子图的绘画
- mysql时间加10分钟_将MySQL日期时间格式添加10分钟?
- 如何导出、导入mysql数据
- ubuntu 编译android SDK错误处理
- 逆向练习--bugku love
- 拜日式精准引导词_拜日式引导词