Web API 一

API概念


API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,无需理解其内部工作机制细节,只需直接调用使用即可。


Web API


Web API 是浏览器提供的一套操作浏览器功能和页面元素的 API ( BOM 和 DOM )。


DoM

文档对象模型,是W3c组织推荐的处理可扩展标记语言的标准编程接口 W3C已经定义了一系列的DOM接口,通过这些可以改变网页的内容、结构和样式。

在这里插入图片描述
DOM树又称为文档树模型,把文档映射成树形结构,通过节点对象对其处理,处理的结构可以加入到当前页面。





获取元素


1.根据ID获取
document.getElementById(id)

2.根据标签名获取元素

document.getElementsByTagName('标签名')

3.h5新增方式

通过classname获取
document.getElementsByClassName('类名')
通过选择器获取
document.querySelector()   //  .类名   #id名   标签
通过选择器获取所有元素
document.querySelectorAll()



事件


JavaScript 使我们有能力创建动态页面,而事件是可以被 JavaScript 侦测到的行为。

简单理解: 触发— 响应机制





事件三要素


事件源:触发事件的元素 事件类型:做了什么事件 事件处理程序:事件触发后要执行的代码,事件处理函数


执行事件的步骤


获取事件源 注册事件 添加事件处理程序


常见的鼠标事件


onclick   鼠标左键触发
onmouseover   鼠标经过触发
onmouseout   鼠标离开触发
onfocus   获得鼠标焦点触发
onblur   失去鼠标焦点触发
onmousemove  鼠标移动触发
onmouseup  鼠标弹起触发
onmousedown  鼠标按下触发



操作元素


JavaScript的 DOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM 操作元素来改变元素里面的内容、属性等
element.innerText    //  会去除html标签,同时空格和换行也会去掉
element.innerHTML  //  包括html标签,同时保留空格和换行



常用元素的属性操作


获取属性的值:
元素对象.属性名
设置属性的值:
元素对象.属性名



样式属性操作


可以通过js修改元素的大小、颜色、位置等样式
element.style    行内样式操作
element.className   类名样式操作



排他思想

如果有同一组元素,我们想要某一个元素实现某种样式, 需要用到循环的排他思想算法:

1. 所有元素全部清除样式(干掉其他人)
2. 给当前元素设置样式 (留下我自己)
3. 注意顺序不能颠倒,首先干掉其他人,再设置自己



自定义属性操作

获取属性值
element.属性      获取属性值
element.getAttribute('属性')
设置属性值
element.属性 = ‘值’
element.setAttribute('属性','值')
移除属性
element.removeAttibute('属性')



设置自定义属性

自定义属性目的:是为了保存并使用数据。有些数据可以保存到页面中而不用保存到数据库中。

自定义属性获取是通过getAttribute(‘属性’) 获取。

但是有些自定义属性很容易引起歧义,不容易判断是元素的内置属性还是自定义属性。



节点操作


网页中的所有内容都是节点(标签、属性、文本、注释等),在DOM 中,节点使用 node 来表示。

​	HTML DOM 树中的所有节点均可通过 JavaScript 进行访问,所有 HTML 元素(节点)均可被修改,也可以创建或删除。



节点层级


在这里插入图片描述

node.parentNode    父级节点     //返回该节点的父节点,
parentNode.childNodes    所有子节点   //返回一个集合
parentNode.firstChild   第一个子节点
parentNode.lastChild   最后一个子节点
parentNode.nextSibling   兄弟节点



节点增删改查

document.creteElement    创建节点
node.appendChild(child)     添加节点
node.removeChild()    删除节点
node.cloneNode()    克隆节点     //  括号里边为true为深拷贝    没有则默认为浅拷贝



创建元素的三种方式

document.write()   //直接将内容写入页面的内容流
element.innerHTML   //是将内容写入某个DOM节点,不会导致页面全部重绘
document.createElement   // 创建多个元素效率稍低一点点,但是结构更清晰
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值