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

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代码


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[HZNOI #koishi] Magic

[HZNOI #514] Magic 题意 给定一个 \(n\) 个点 \(m\) 条边的有向图, 每个点有两个权值 \(a_i\) 和 \(b_i\), 可以以 \(b_i\) 的花费把第 \(i\) 个点的 \(a_i\) 变成 \(0\). 最后每个点 \(i\) 产生的花费为所有从 \(i\) 出发能通过一条有向边直接到达的点 \(j\) 的 \(a_j\) 的 \…

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

webAPI 00-复习 内置对象中的方法 01-JavaScript组成 知识点-ECMASCRIPT 重点回顾 存储容器 变量数组对象 逻辑语法 分支语句循环语句switch语句 知识点-BOM 概念 Browser Object Model (浏览器器对象模型) 操作浏览器将浏览器看做是一个对象.作用 通过js操作浏览器中相…

华为架构师8年经验谈:从单体架构到微服务的服务化演进之路

本次分享的技术大纲如下&#xff1a; 传统应用开发面临的挑战服务化实践服务化不是银弹服务化架构的演进方向一 、传统应用开发面临的挑战 挑战1-- 研发成本高 主要体现在如下几个方面&#xff1a; 代码重复率高在实际项目分工时&#xff0c;开发都是各自负责几个功能&#xff…

轮播图制作(1)

轮播图制作 <body><div><img src"img/1.jpg" class"imgs" alt""><a href"#" class"left"><</a> //此处的箭头也可以用图标做出来<a href"#" class"right">>…

StringUtils工具类的常用方法

StringUtils 方法的操作对象是 java.lang.String 类型的对象&#xff0c;是 JDK 提供的 String 类型操作方法的补充&#xff0c;并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException &#xff0c;而是做了相应处理&#xff0c;例如&#xff0c…

放大镜制作(1)

放大镜制作 <div class"box" id"box"><!--左侧的盒子--><div class"small"><!--图片--><img src"images/big.jpg" width"350" class"aaa" alt""/><!--黄色小盒子--&…

从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装

标题&#xff1a;从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装 作者&#xff1a;Lamond Lu 地址&#xff1a;https://www.cnblogs.com/lwqlun/p/11343141.html 源代码&#xff1a;https://github.com/lamondlu/Mystique 前情回顾 从零开始实现ASP.NET Core MVC的插…

立体导航翻转案例

<div class"box"><!-- 立方体 --><ul><li><img src"img1/1.jpg" alt""></li><li><img src"img1/2.jpg" alt""></li><li><img src"img1/3.jpg" a…

Uncontrolled memory mapping in camera driver (CVE-2013-2595)

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主同意不得转载。https://blog.csdn.net/hu3167343/article/details/34434235 /* 本文章由 莫灰灰 编写&#xff0c;转载请注明出处。 作者&#xff1a;莫灰灰 邮箱&#xff1a; minzhenfei163.com */ 1漏洞描写…

表格隔行变色

<body><table border"0" align"center" cellspacing"1" cellpadding"0"><caption>恭喜发财</caption><thead><tr><th>代码</th><th>名称</th><th>最新公布净值<…

项目管理的测试版发布

最近有时间将以前没有写完的项目管理程序进一步完善&#xff0c;加入了项目任务之间的关连。功能&#xff1a;1、任务的关连Start to finishStart to startFinish to startFinish to finish2、任务关连表环路检测3、采用MVC模式进行开发4、自动导出XML5、双击连接线可以设置、删…

Tab栏切换布局分析

<body><div class"tab"><div class"tab_list"><ul><li class"current">商品介绍</li><li>规格与包装</li><li>售后包装</li><li>商品评价(50000)</li><li>手机社…

CLR基础,CLR运行过程,使用dos命令创建、编译、运行C#文件,查看IL代码

CLR是Common Language Runtime的缩写&#xff0c;是.NET程序集或可执行程序运行的一个虚拟环境。CLR用于管理托管代码&#xff0c;但是它本身是由非托管代码编写的&#xff0c;并不是一个包含了托管代码的程序集&#xff0c;所以不能使用IL DASM进行查看&#xff0c;但CLR以dll…

表单的全选取消全选

<div class"wrap"><table border"1" cellspacing"0" cellpadding"0"><caption>恭喜发财</caption><thead><tr><th><input type"checkbox" id"j_cbAll" checked&quo…

HDU 4339 Query

算法: 比赛时没有想到好的算法&#xff0c;暴力是O&#xff08; Q * N &#xff09;肯定超时。 赛后&#xff0c;线段树&#xff0c;树状数组&#xff0c;HASH都能AC&#xff0c;想了下&#xff0c;的确用树状数组 时间复杂度就可以优化到O&#xff08;Q * lgN * lgN) 2000msAC…

201904快速阅读术

在看过了几本数之后&#xff0c;发现原来培养读书的习惯好像也不太难&#xff0c;“将读书融入生活&#xff0c;框定读书时间” 生活中&#xff0c;我确实也是这样执行了。利用每天上下班的时间听书&#xff0c;有些觉得可以读快的书籍用了1.5倍速度在听&#xff0c;难懂的部分…

最简方式 表格编辑 基于 el-table

共下面5点1.新增一个显示和隐藏的参数2.在显示那边新增一个input框&#xff0c;用v-model绑定数据&#xff0c;用v-if来显示和隐藏3.给之前的显示的span标签添加v-else 和上面形成if else4.编辑和保存按钮同理&#xff0c;然后编辑按钮触发的任务将所有输入打开。即seen置为tru…

Spring Boot 自动配置原理

自动配置原理配置文件到底能写什么&#xff1f;怎么写&#xff1f;自动配置原理&#xff1b; 参考&#xff1a;https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#common-application-properties配置文件能配置的属性参照1、自动配置原理&#xff…

C#Socket编程详解(一)TCP与UDP简介

一、TCP与UDP&#xff08;转载&#xff09; 1、TCP 1.1 定义 TCP&#xff08;TransmissionControl Protocol&#xff09;传输控制协议。 是一种可靠的、面向连接的协议&#xff08;eg:打电话&#xff09;、传输效率低全双工通信&#xff08;发送缓存&接收缓存&#xff09;、…

动态创建表格数据

<input type"button" value"创建"><style>*{margin: 0;padding: 0;}table{width: 980px;margin: 50px auto;}table,th,tr,td{text-align: center;border: 1px solid #ccc;}</style><script>var heads [姓名, 年龄, 性别, 学号, 薪…