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. 单页面应用的History路由模式express后端中间件配合

    这篇文章主要分享一下通过HTML5的history API的时候,使用NodeJS后端应该如何配置,来避免产生404的问题,这里是使用的express的框架,主要是通过connect-history- ...

  2. SpringBoot第二十四篇:应用监控之Admin

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   前一章(S ...

  3. Python和Sublime安装教程

    Python安装 安装python可以去https://www.python.org官网下载 点开官网后点击下图我圈出来的地方 然后翻到页面最后,选择要安装的版本 点击下载后打开,将 Add  Pyt ...

  4. CodeForces 1084 F Max Mex

    Max Mex 题意:问在树上的所有路中mex值最大是多少. 题解: 用线段树维护值. 区间[L,R]意味着 区间[L,R]的数可不可以合并. 重点就是合并的问题了. 首先合法的区间只有3种: 1. ...

  5. 2018湖南多校第二场-20180407 Column Addition

    Description A multi-digit column addition is a formula on adding two integers written like this:

  6. 利用PIL库创建空白图像

    背景 最近,想自己生成带位置坐标的文字数据集来训练文本位置探测网络. 理想情况是,给文字加盐噪声,背景不需要加噪声,所以需要创建一个空白的背景.将文字放在空白背景上,然后利用opencv加噪声. 解决 ...

  7. sed一些常用命令

    [转] http://blog.chinaunix.net/uid-20754793-id-177657.html 下面是我学习sed时参照参考书总结的一些常用sed命令,基本上每条语句都进行了调试1 ...

  8. 201871010134-周英杰《面向对象程序设计(java)》第二周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  9. python控制台简单实现五子棋

    #棋盘#落子#规则import randomclass chess: def __init__(self): print('#---------------棋盘----------------#') ...

  10. Java SSM三端分离开发在线教育平台实战视频教程

    目录: 1-01——在线网校实战课程介绍1-02——Eclipse.Maven.JDK介绍1-03——Maven构建Project1-04——新浪SAE介绍2-01——平台业务结构概览2-02——平台 ...