学习WEBAPI第一天
WebApi: 通过操作对象来实现操作标签的目的
Dom:操作页面 Bom:操作浏览器的
学习目标:
一、DOM 中常用的操作
1、获取元素
2、对元素进行操作(设置其属性或调用方法)
3、动态创建元素
4、给元素注册事件
二、doucument对象
三、获取元素
1、getElementsByTagName("标签名")
结果: 返回一个伪数组,包含符合条件的所有元素
2、getElementById('id名') 通过id获取元素
结果:返回的就是那个对应的元素,如果找不到就返回一个空的伪数组
3、总结:
(1)批量获取:document/element.getElementsByTagName('标签名')
结果:返回一个伪数组,如果找不到返回空的伪数组
(2)通过id获取:
document.getElementById('id名')
结果:返回具体的元素,找不到返回null
小结:通过document这个对象调用获取元素的方法
getElementById 返回的是对应的DOM元素, 如果没有返回null
getElementsByTagName 返回的是存储DOM元素的伪数组,如果没有返回空的伪数组
四、注册事件
注册事件的语法: 元素.on事件名 = 函数;
一、事件的三要素:
(1)、事件源: 给谁注册事件,谁就是事件源
(2)、事件名: 要注册什么事件,那个就是是事件名,点击事件的事件名是: click
(3)、事件处理函数: 事件触发的时候会被调用的函数
二、给a标签注册点击事件需要注意:
(1)、由于a标签的超链接功能,默认会刷新页面/跳转页面
在事件处理函数的最后一行,写一个truern falese
可以阻止a标签的默认刷新/跳转页面行为
三、总结:通过id获取元素注册点击事件,添加事件处理函数
五、操作元素的属性
1、元素名.innerText 返回元素里面的所有的文本,赋值时(不会识别标签)
2、元素名.innerHTML 返回元素里面的所有内容,赋值时(会识别标签,把标签直接渲染出来)
注意:凡是成对的标签,中间文本内容,设置的时候都可以用
3、元素名.id = "xx" 修改元素的内容
4、this 再某个元素的事件中,自己的事件中的this就是当前这个元素
六、当页面加载完时,script代码已经执行完(已经给每个元素注册事件),
当触发事件时,才会执行事件处理函数
七、表单标签和属性
一、标签
1、text:文本框
2、button:按钮
3、 这是下拉菜单 :鼠标点击下拉菜单
4、 这是内容content 注册协议框
二、属性
1、selected :代表选中按钮的意思,布尔类型
2、disabled :禁用的意思
3、readonly:只读的意思
八、注意事项
1、凡是css中这个属性是多个单词的写法,在JS代码中的DOM操作时候把 - 干掉
后面单词首字母大写即可
2、在表单标签中,如果属性和值只有一个,并且是属性本身,那么再写JS
代码DOM操作的时候,这个属性值,是布尔类型就可以
九、总结
DOM:把页面上的标签抽象成对象,在js中通过操作对象,实现操作页面上的标签目的
元素:在html中
获取元素:
document.element.getElementsByTabName('标签名') 返回一个伪数组,如找不到返回空的伪数组
document.getElementById('id名') 返回符合条件的那个元素,如找不到返回null
获取body:document.body
获取HTML: document.documentElement
事件: 点击事件 click
事件源: 给谁注册事件,谁就是事件源
事件处理函数:出发事件时,调用的函数
事件源.on + 事件名 = 事件处理函数:出发事件时
操作元素的属性:
innerText
innerHTML
相同点:都会覆盖原来的内容
不同点:innerText 只识别文本
innerHTML 可以识别标签
注意: 一般用于双标签
学习WEBAPI第一天的更多相关文章
- RabbitMQ学习总结 第一篇:理论篇
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...
- 学习KnockOut第一篇之Hello World
学习KnockOut第一篇之Hello World 笔者刚开始学习KnockOut.写的内容就相当于一个学习笔记.且在此处向官网致敬,比较喜欢他们家的Live Example版块,里面有jsFiddl ...
- ActionBarSherlock学习笔记 第一篇——部署
ActionBarSherlock学习笔记 第一篇--部署 ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...
- Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- javascript的ES6学习总结(第一部分)
ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...
- Web基础学习---HTML 第一天
Web基础学习---HTML 第一天 1 HTML标签 2.CSS Web开发基础HTML好吧离开Python几天...如何学好前端?? 多去看别人的网站.多看.多写.多练,(知乎.36Kr.)多练就 ...
- QT学习之第一个程序
QT学习之第一个程序 目录 手动创建主窗口 居中显示 添加窗口图标 显示提示文本 Message Box的应用 手动连接信号与槽 手动创建主窗口 窗口类型 QMainWindow: 可以包含菜单栏.工 ...
- 创芯Xilinx Microblaze 学习系列第一集
创芯Xilinx Microblaze 学习系列第一集 Xilinx ISE Design Suite 13.2 The MicroBlaze™ embedded processor soft cor ...
随机推荐
- LInux ACL权限控制
1.ACL简介 ACL是一种可以实现灵活的权限管理(文件的额外赋权机制)除了文件所有者,所属组和其他人,可以对更多的用户设置权限,这就是访问控制列表(Access Control List) 2.AC ...
- vue实现输入框的模糊查询(节流函数的应用场景)
上一篇讲到了javascript的节流函数和防抖函数,那么我们在实际场合中该如何运用呢? 首先,我们来理解一下:节流函数首先是节流,就是节约流量.内存的损耗,旨在提升性能,在高频率频发的事件中才会用到 ...
- java实现查找PDF关键字所在页码及其坐标
1.因为最近有这方面的需求,用过之后记录一下. 2.此功能跟PDF中Ctrl+F性质一样,如果PDF中为图片形式的不支持定位到关键字. import com.itextpdf.awt.geom.Rec ...
- Linux搭建nginx负载均衡(两台服务器之间)
负载均衡种类 第一种:通过硬件负载解决,常见的有NetScaler.F5.Radware和Array等商用的负载均衡器,价格比较昂贵 第二种:通过软件负载解决,常见的软件有LVS.Nginx.apac ...
- 那些让你觉得自己是个傻B的题目集锦(大神的降维打击合集)
一起过来排好队,进来挨打 1.Leetcode tag-LinkList 109.convert sorted list to binary search tree 2Leetcode tag-Arr ...
- Badboy中创建Suite, test, step和Template
参考: http://leafwf.blog.51cto.com/872759/1111744 http://www.51testing.com/html/00/130600-1367743.html ...
- codeforces 876 F. High Cry(思维)
题目链接:http://codeforces.com/contest/876/problem/F 题解:一道简单的思维题,知道最多一共有n*(n+1)/2种组合,不用直接找答案直接用总的组合数减去不符 ...
- Spring@Autowired java.lang.NullPointerException 空指针
在使用@Autowired注解注入出现的空指针 java.lang.NullPointerException 可能存在的错误原因: 1.注解的扫描有问题 在xml配置了这个标签后,spring可以 ...
- DAX 第八篇:表连接
表连接是指两张表根据关联字段,组合成一个数据集.表连接不仅可以利用数据模型中已有的关系,而且可以利用DAX表达式基于表的任意列定义连接条件.因此,在DAX中,实现表与表之间的连接,有两种方式: 第一种 ...
- 章节十六、7-DataProviders
一.当我们的同一个test有多套数据需要进行测试,那么我们就需要用到-->DataProviders package testclasses1; import org.testng.annota ...