JavaScript-DOM(BOM)操作

核心知识

  1. 获取页面元素
  2. 事件
  3. 设置样式

学习目标

  1. 能够使用id名,标签名等方式获取页面中元素
  2. 能够给标签注册点击事件,并实现对应效果
  3. 能够给标签通过js方式设置样式

JavaScript组成

ECMASCRIPT (基础语法)

DOM(文档对象模型)

BOM(浏览器对象模型)

DOM+BOM

  • 为啥要学DOM和BOM?

总结: 通过js中的DOM和BOM操作实现页面中的一些用户点击效果等
注意:不要盲目的认为JS就是用来做网页特效的。
  • 到底什么是DOM和BOM?

DOM: Document Object Model (文档对象模型)    操作页面元素
BOM: Browser Object Model (浏览器器对象模型)  操作浏览器

什么是文档对象模型(DOM)?

  1. 概念部分理解

文档:HTML文件(document)
对象:对具体事务的抽象【属性+值】,将HTML抽象成对象总结:通过js操作html文档中的标签
  1. 文档树

将html文件中的标签,属性 等转化为对象,按照标签的关系以树状结构保存到内存中☞ 文档树中的元素: HTML标签 + 属性 + 内容信息 ☞ 文档树中的节点: 所有的内容都叫节点(文本节点,标签节点,属性节点)
  • 如何学习DOM和BOM?

掌握大量的方法(api),属性。
  • 什么是API?
是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力例如:
Math.max() ...

3.获取页面中的元素

4.事件

什么是事件?
事件指的是一种行为动作: 比如 单击,双击,手指按压,滑动,移动,悬停。。。
事件三要素
        事件源: 页面中的一个具体的标签事件类型: 行为动作(单击,双击,悬停,滑动。。。) 事件处理程序: 事件发生后的一个结果
事件语法
  事件源.事件类型 = 事件处理程序注意:事件处理程序的本质就是一个函数。
事件类型:
  • 单击onclick
  • 双击ondblclick
事件处理程序中的this关键字
 函数中的this指向的是外部构造函数指向的对象。事件处理程序中的this指向的是当前事件源

5.操作元素中的属性

  • src属性【案例:换图片】

dom.src :  获取图片路径    ----> 绝对路径
dom.alt:   获取图片描述信息备注:dom 指的是通过js获取的页面中元素
  • className【案例:动画效果】

//获取对象的类名
dom.className//给对象添加类名
dom.className = '类名'注意:
1.通过className给元素添加类名会将原来的类名覆盖掉
2.如果要保证原来的类名依然存在,可以使用拼接字符串的方式
3.去掉类名,赋值为空字符串即可
  • innerText 和 innerHTML【案例:设置文字】

//获取方式
通过innerText获取,仅仅包含文本
通过innerHTML获取,若有子标签时,会包含文本和子标签备注:1. 在老版本火狐浏览器中不支持innerText2. 在老版本火狐浏览器中使用textContent设置获取标签内容信息3. 2016年将innerText正式纳入标准属性//设置结果
通过innerText设置,若设置中包含了子标签,该标签不会被渲染而是当做普通文本显示
通过innerHTML设置,若设置中包含了子标签,该标签会被渲染显示
  • textContent和 innerText

相同点:相同点:获取的都是文本,将html标签过滤掉不同点:
textContent在获取内容的时候,将空格和换行效果都显示
innerText 在获取内容的时候,没有空格和换行效果处理兼容性问题:
1.如果元素支持某个属性,那么会返回该属性的类型
2.如果元素不支持某个属性,那么会返回undefined类型
例如:<div id="one"></div>console.log(typeof div.a);  //undefinedconsole.log(typeof div.id); //string
  • 取消a标签默认跳转行为[扩展]
方式1:事件处理程序中最后设置return false; <a id="link" href="https://www.baidu.com">点击</a>
<script>
var link = document.getElementById('link');
link.onclick = function(){alert('你好');
// 方式1:取消a点击后的默认跳转行为 return false;
return false;
};
</script>方式2:设置a标签的href属性值为:javascript:
<a href="javascript:">点击2</a>
备注:给a标签的herf值设置javascript: ,表示将来点击a时,会阻止默认跳转行为,并且仅仅会执行js代码

1:取消a点击后的默认跳转行为 return false;

return false;
};

方式2:设置a标签的href属性值为:javascript:
点击2
备注:
给a标签的herf值设置javascript: ,表示将来点击a时,会阻止默认跳转行为,并且仅仅会执行js代码


js(Dom+Bom)第一天(1)相关推荐

  1. js(Dom+Bom)第一天(2)

    webAPI 00-复习 内置对象中的方法 01-JavaScript组成 知识点-ECMASCRIPT 重点回顾 存储容器 变量 数组 对象 逻辑语法 分支语句 循环语句 switch语句 知识点- ...

  2. js(Dom+Bom)第六天(1)

    webAPI 01-键盘事件 知识点-onkeydown事件[掌握] onkeydown: 当键盘上的键被按下时候触发的一个事件 知识点-onkeyup事件[掌握] onkeyup: 键盘上键弹起时候 ...

  3. js(Dom+Bom)第七天(1)

    JavaScript BOM介绍 概念 BOM(Browser Object Model)即浏览器对象模型. 本质: 通过对象抽象浏览器中的一些功能 例如:(刷新页面,alert,confirm,po ...

  4. js(Dom+Bom)第五天(2)

    webAPI 01-事件监听 为什么要学事件监听 之前给元素注册事件的时候,同一个事件会被覆盖掉 事件监听的本质 通过另外一种方式给元素注册事件, 同时可以解决同一个事件不会被覆盖掉. 知识点-通过 ...

  5. js(Dom+Bom)第五天(1)

    JavaScript BOM介绍 概念 BOM(Browser Object Model)即浏览器对象模型. 本质: 通过对象抽象浏览器中的一些功能 例如:(刷新页面,alert,confirm,po ...

  6. js(Dom+Bom)第四天(1)

    webAPI 1-通过DOM节点方式获取元素 1-0注意事项 下面的内容都在在文档树上直接操作的 (节点 + 元素)重点是: 与元素相关的内容 1-1与父节点相关的操作方式 1-1-1.知识点-判断父 ...

  7. js(Dom+Bom)第三天(2)

    webAPI 0-操作标签属性 系统属性 作用: 1. 可以操作标签身上的任何一个系统中的自带属性 (id, class, name ....) 2. 还可以操作用户自定义的属性 dom.getAtt ...

  8. js(Dom+Bom)第三天(1)

    JavaScript-DOM 节点的层次结构 hasChildNodes() [父元素中是否包含子节点] dom.hasChildNodes() 总结:1.该方法返回的是一个布尔类型的结果用来判断当前 ...

  9. js(Dom+Bom)第二天(1)

    JavaScript-DOM操作 核心知识点 className操作标签样式 style属性方式操作标签样式 操作表单控件 学习目标 能够通过className方式给标签设置样式 能够通过style方 ...

最新文章

  1. 数据结构(04)— 线性顺序表实战
  2. extjs 4 tab panel得strip在IE下右偏解决办法
  3. 举个栗子看如何做MySQL 内核深度优化
  4. C标准库 limits.h
  5. Run-Time Check Failure #3
  6. 终版!思科网络设备基础命令大全(三)
  7. Asp.Net生命周期系列一
  8. mysql 特殊运算_用特殊的MySQL运算符获得更多数据比较功能
  9. java实现自动登录,并获取数据
  10. bit java实验2_2018-2019-2 20175120 实验五《Java网络编程》实验报告
  11. android imageview 上蒙版,在iOS中为UIImageView的圆形蒙版设置动画
  12. 从入门到入土:Python爬虫学习|实例练手|爬取百度翻译|Selenium出击|绕过反爬机制|
  13. 似然函数(likelihood function)
  14. python创意实用案例-python实用案例
  15. Oracle数据库中序列用法讲解(转)
  16. centos7修改命令行或图形界面启动模式
  17. 软件功能测试用例表,功能测试用例模板.xls
  18. windows系统gaussian和GaussView的安装
  19. MQ消息队列的优缺点介绍以及对比选型
  20. 高等数学张宇18讲 第九讲 积分等式与积分不等式

热门文章

  1. 关于CAN总线的位时间/同步段/传播时间段/相位缓冲段/采样点
  2. ADTF(Assist Automotive Data and Time-Triggered Framework)介绍
  3. WS_EX_COMPOSITED是个BUG?
  4. MFC中绘制高亮的图标 VC图标填充半透明色
  5. php导出照片,Laravel使用 Laravel Excel文件导出图片功能
  6. 剪板机自动上下料_机器人联轴器,用于机器人自动化上下料
  7. java mongo分组统计_探秘 Dubbo 的度量统计基础设施 - Dubbo Metrics
  8. csp怎么给线条描边_PS的四种“描边”方式你都知道吗?Photoshop小知识
  9. vb.net 设置打印纸张与页边距_装订文档时不想让文字被挡住?在Excel中你可以这样设置打印!...
  10. 【caffe-Windows】mnist实例编译之model的使用-matlab