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中

叫做标签,在DOM中,称之为元素

​ 获取元素:

​ document.element.getElementsByTabName('标签名') 返回一个伪数组,如找不到返回空的伪数组

​ document.getElementById('id名') 返回符合条件的那个元素,如找不到返回null

​ 获取body:document.body

​ 获取HTML: document.documentElement

事件: 点击事件 click

事件源: 给谁注册事件,谁就是事件源

事件处理函数:出发事件时,调用的函数

事件源.on + 事件名 = 事件处理函数:出发事件时

操作元素的属性:
innerText
innerHTML
相同点:都会覆盖原来的内容
不同点:innerText 只识别文本
innerHTML 可以识别标签
注意: 一般用于双标签

学习WEBAPI第一天的更多相关文章

  1. RabbitMQ学习总结 第一篇:理论篇

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  2. 学习KnockOut第一篇之Hello World

    学习KnockOut第一篇之Hello World 笔者刚开始学习KnockOut.写的内容就相当于一个学习笔记.且在此处向官网致敬,比较喜欢他们家的Live Example版块,里面有jsFiddl ...

  3. ActionBarSherlock学习笔记 第一篇——部署

    ActionBarSherlock学习笔记 第一篇--部署          ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...

  4. Java学习记录第一章

    学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...

  5. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  6. javascript的ES6学习总结(第一部分)

    ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...

  7. Web基础学习---HTML 第一天

    Web基础学习---HTML 第一天 1 HTML标签 2.CSS Web开发基础HTML好吧离开Python几天...如何学好前端?? 多去看别人的网站.多看.多写.多练,(知乎.36Kr.)多练就 ...

  8. QT学习之第一个程序

    QT学习之第一个程序 目录 手动创建主窗口 居中显示 添加窗口图标 显示提示文本 Message Box的应用 手动连接信号与槽 手动创建主窗口 窗口类型 QMainWindow: 可以包含菜单栏.工 ...

  9. 创芯Xilinx Microblaze 学习系列第一集

    创芯Xilinx Microblaze 学习系列第一集 Xilinx ISE Design Suite 13.2 The MicroBlaze™ embedded processor soft cor ...

随机推荐

  1. Codeforces 1008D/1007B

    题意略. 思路: 由于这个长方体是可以翻转的,所以我们不必考虑小长方体3个维度的出处,反正3条边一定有长有短能分出大小. 现在我们来考虑A,B,C三个数字,如果它们3个产生的因子互不相同,分别产生了a ...

  2. HDU 6242

    题意略. 思路:这个题的思路非常诡异.由于题目保证存在这样一个圆,那么每个点在这个圆上的概率是1/2,我任选3个点,这3个点都在这个圆上的概率是1 / 8. 不都在这个圆上的概率是7 / 8,在这样选 ...

  3. Java-手动搭建SSM(Maven)

    一.环境部署 操作系统:windows10专业版 jdk:1.8.0_144 IDE:eclipse-oxygen 服务器:tomcat 9.0 数据库:mysql 5.7.18 Maven:3.54 ...

  4. Codeforces Round #506 (Div. 3) 1029 D. Concatenated Multiples

    题意: 给定n个数字,和一个模数k,从中选出两个数,直接拼接,问拼接成的数字是k的倍数的组合有多少个. 思路: 对于a,b两个数,假定len = length of (b),那么a,b满足条件就是a ...

  5. POJ 1797-Heavy Transportation-dijkstra小变形和POJ2253类似

    传送门:http://poj.org/problem?id=1797 题意: 在起点和终点间找到一条路,使得经过的边的最小值是最大的: 和POJ2253类似,传送门:http://www.cnblog ...

  6. 【Offer】[14] 【剪绳子】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 给你一根长度为n绳子,请把绳子剪成m段(m.n都是整数,n>1并且m≥1).每段的绳子的长度记为k[0].k[1].--.k[m] ...

  7. 十天快速入门Python

    课程导学 001 课程定位和目标 002 课程导学 第一部分 Python快速入门 第1天 Python基本语法元素 003 Python基本语法元素 004 程序设计基本方法 005 Python开 ...

  8. springboot中动态修改log4j2日志级别

    springboot中动态修改log4j2日志级别 在spring boot中使用log4j2日志时,项目运行中,想要修改日志级别. 1.pom.xml依赖: <dependency> & ...

  9. 关于volatile关键字的最佳解释

    直接放原博主链接,真的写得非常好,看懂这个面试官问再多也不怕了: https://www.cnblogs.com/dolphin0520/p/3920373.html Java并发编程:volatil ...

  10. MATLAB之图像与音频信号处理

    原理简介 离散傅立叶.离散余弦和离散小波变换是图像.音频信号常用基础操作,时域信号转换到不同变换域以后,会导致不同程度的能量集中,信息隐藏利用这个原理在变换域选择适当位置系数进行修改,嵌入信息,并确保 ...