JavaScript笔记(11)之Web APIs阶段 获取元素
我们之前学的呢,都是JS的基础部分,也就是ECMA规定的语法,后面我们就要学习BOM和DOM了.
JS基础阶段
- 我们学习的是ECMAscript标准规定的基本语法
- 要求掌握JS的语法
- 只学习基本语法,做不了常用的网页交互效果
- 目的是为了JS后面的课程打基础,做铺垫.
Web APIs阶段
- Web APIs是w3c组织的标准
- Web APIs我们主要学习DOM和BOM
- Web APIs是我们JS独有的部分
- 我们主要学习页面交互效果
- 需要使用JS基础的课程内容做铺垫
JS基础学习ECMAScript基础语法为后面做铺垫,Web APIs是JS的应用,大量使用基础语法做交互效果.
API
(Application Programming Interface)应用程序接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节
简单理解: API是给程序员提供的一种工具,以便能更轻松的实现想要完成的功能.
Web API是浏览器提供的一套操作浏览器功能和页面元素的API(BOM和DOM).现阶段我们主要针对于浏览器讲解常用的API,主要针对浏览器做交互效果.
DOM
什么是DOM
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言(HTML或者XML)的标准编程接口
W3C已经定义了一系列的DOM接口,通过这个DOM接口可以改变网页的内容,结构和样式.
DOM树
- 文档:一个页面就是一个文档,DOM中使用document表示
- 元素:网页中所有的标签都是元素,DOM中用element表示
- 节点:网页中的所有内容都是节点(标签/属性/文本/注释等),DOM中使用node表示
DOM把以上所有内容都看做是对象.
如何获取页面元素
获取页面元素可以使用以下几种方式:
- 根据ID获取
- 根据标签名获取
- 通过HTML5获取
- 特殊元素获取
1.根据ID获取
使用 getElementById( ) 方法可以获取带有ID的元素对象, 参数Id是大小写敏感的字符串, 返回的是一个元素对象.
打印出来的结果,就是我们的timer标签
我们查看一下返回的结果:
现在我们学习一个新的方法console.dir( ),可以返回我们的元素对象,更好的查看对象的属性和方法.
2.根据标签名获取
根据 getElementsByTagName( ) 方法可以返回带有指定标签名的对象的集合.
返回的是伪数组.
我们也可以遍历这5个li,使用遍历的方法就可以了.
注意:
- 因为得到的是一个对象的集合,所以我们想要操作里面的元素就需要遍历.
- 得到的元素是动态的
- 如果页面中只有一个li,返回的还是伪数组的形式
- 如果页面中没有这个元素返回的是空的伪数组.
假如我们现在有ul,也有ol,但是我们只想要ol里面的li标签,那该怎么办呢?我们可以使用:
elements.getElementsByTagName('标签名')
注意:父元素必须是单个对象,必须指明是哪一个元素对象,获取的时候不包括父元素自己.
注意一定是ol[index],一定要指明是第几个ol,否则会报错
但是在开发中更常用到的方法是给ol指定一个id,因为id是唯一的.
根据HTML5获取
document.getElementsByClassName('类名') : 根据类名返回元素对象合集
上面的方法都有些繁琐了,现在有一个更新的方法, document.querySelector() 可以直接帮我们选出选择器,但是只能返回指定选择器的第一个元素对象
这个虽然简便了很多但还是有缺陷的,所以下面就说一个更加完美的.
document.querySelectorAll('选择器')
最后,我们还可以获取比较特殊的body和html标签,因为他们特殊,所以也有特殊的方法去获取.
document.body
但是获取html的方法又不同了
document.documentElement
接下来讲事件基础了
相关文章
- JavaScript笔记(1)
- JavaScript笔记(8)
- JS跳转代码_javascript跳转代码
- 【JavaScript】手把手教你写高质量 JavaScript 异步代码!
- JavaScript刷LeetCode拿offer-二叉树层序遍历篇
- html script 换行,JavaScript中怎么换行
- JavaScript入门笔记
- 使用百度地图绘制点、线、面 | Javascript
- Javascript闭包实现Ajax在for循环中正常运行
- Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)详解编程语言
- JavaScript 倒计时实例详解编程语言
- Javascript个人笔记(没有整理,很乱)
- javascript按指定格式输出文件最后更新时间
- JavaScript学习笔记(四)
- javascript精确获取页面元素的位置
- JavaScript设计模式富有表现力的Javascript(一)
- 某人初学javascript的时候写的学习笔记
- Javascript学习笔记-详解in运算符
- javascript权威指南学习笔记之null和undefined
- JavaScript高级程序设计(第3版)学习笔记3js简单数据类型
- 如何使用JavaScript和正则表达式进行数据验证
- Javascript中string转date示例代码
- javascript去除字符串中所有标点符号和提取纯文本的正则
- JavaScript中获取鼠标位置相关属性总结
- Javascript学习笔记之函数篇(三):闭包和引用
- Javascript学习笔记之函数篇(五):构造函数
- Javascript中的五种数据类型详解
- JavaScript学习笔记之定时器
- 当前流行的JavaScript代码风格指南