范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

JavaScriptDom模型(上)

  JavaScriptDom模型(上)第一部分 Web API简介初识Web API
  Web API是浏览器提供的一套操作浏览器功能和页面元素的接口。JavaScript语言由3部分组成,分别是ECMAScript、BOM和DOM,其中ECMAScript是JavaScript语言的核心,而Web API包括BOM和DOM两部分。
  JavaScript的组成部分
  2.Web API与API的关系
  API:应用程序编程接口,是一些预先定义的函数,这些函数是由某个软件开放给开发人员使用的,帮助开发者实现某种功能,开发人员无须访问源码、无须理解其内部工作机制细节,只需知道如何使用即可。例如,调起手机的摄像头拍摄画面。
  Web API:主要针对浏览器的API,在JavaScript语言中被封装成了对象,通过调用对象的属性和方法就可以使用Web API。例如,console对象、document对象、window对象。
  示例:
  document.title = "设置新标题"; // 设置页面标题
  console.log(document.title); // 获取页面标题
  document.write("网页内容"); // 将字符串写入页面第二部分 DOM简介
  1.什么是DOM
  DOM:文档对象模型,是W3C组织推荐的处理可扩展标记语言(HTML或者XML)的标准编程接口。
  W3C定义了一系列的DOM接口,利用DOM可完成对HTML文档内所有元素的获取、访问、标签属性和样式的设置等操作。在实际开发中,诸如改变盒子的大小、标签栏的切换、购物车功能等带有交互效果的页面,都离不开DOM。
  2.DOM树
  DOM中将HTML文档视为树结构,被称之为文档树模型,把文档映射成树形结构,通过节点对象对其处理,处理的结果可以加入到当前的页面。
  接下来针对DOM中各节点的专有名词解释如下:文档(document):可以把一个页面当成一个文档元素(element):页面中的所有标签都是元素节点(node):网页中的所有内容,在文档树中都是节点(如:元素节点、属性节点、文本节点、注释节点等),在DOM中会把所有的节点都看作是对象,这些对象拥有自己的属性和方法第三部分 获取元素
  1.根据id获取元素
  document.getElementById("id")方法,是由document对象提供的用于查找元素的方法,该方法返回的是拥有指定id的元素,如果没有找到指定id的元素则返回null,如果存在多个指定id的元素则返回undefined。
  2.根据标签获取元素
  根据标签名获取元素的两种方式:可以通过document对象获取元素和通过element对象获取元素。
  由于相同标签名的元素可能有多个,上述方法返回的不是单个元素对象,而是一个集合。这个集合是一个类数组对象,或称为伪数组,它可以像数组一样用索引来访问元素,但不能使用push()等方法,使用Array.isArray()也可以证明它不是一个数组。
  getElementsByTagName()方法获取到的集合是动态集合,也就是说,当页面增加了标签,这个集合中也会自动增加元素。
  3.根据name获取元素
  document.getElementsByName()方法,是通过name属性来获取元素,一般用于获取表单元素。name属性的值不要求必须是唯一的,多个元素也可以有同样的名字,如表单中的单选框和复选框。
  4.HTML5新增的获取方式
  HTML5中为document对象新增了querySelector()、querySelectorAll()和getElementsByClassName()方法。注意:这三种方式在使用时需要考虑到浏览器的兼容性问题。
  5.根据类名获取
  document.getElementsByClassName()方法,用于通过类名来获得某些元素集合。
  6.querySelector()和querySelectorAll()对象的属性
  querySelector()方法用于返回指定选择器的第一个元素对象。
  querySelectorAll()方法返回指定选择器的所有元素对象集合。
  7.document对象的属性
  document对象提供了一些属性,可用于获取文档中的元素。例如,获取所有表单标签、图片标签等,document对象的常用属性如下表:
  第四部分 事件基础
  1.事件概述
  事件是指可以被JavaScript侦测到的行为,是一种"触发-响应"的机制。这些行为指的就是页面的加载、鼠标单击页面、鼠标指针滑过某个区域等具体的动作,它对实现网页的交互效果起着重要的作用。
  2.事件三要素
  事件三要素是指事件源、事件类型和事件处理程序这3部分。名词解释如下:事件源:触发事件的元素(谁触发了事件)事件类型:如 click 单击事件(触发了什么事件)事件处理程序:事件触发后要执行的代码(函数形式),也称事件处理函数(触发事件以后要做什么)第五部分 操作元素
  1.操作元素内容
  在前面的内容中已经讲解了获取元素的几种方式,接下来将利用DOM提供的属性实现对元素内容的操作。常用的属性如下表所示:
  innerHTML在使用时会保持编写的格式以及标签样式
  innerText去掉所有格式以及标签的纯文本内容
  textContent属性在去掉标签后会保留文本格式
  2.操作元素属性
  在DOM中,HTML属性操作是指使用JavaScript来操作一个元素的HTML属性。一个元素包含很多的属性,例如,对于一个img图片元素来说,可以操作它的src、title属性等,或者对于input元素来说,可以操作它的disabled、checked、selected属性等。
  步骤:编写HTML结构代码获取元素注册事件处理程序操作元素样式
  操作元素样式的两种方式:一种是操作style属性,另一种是操作className属性
  1.操作style属性
  元素对象的样式,可以直接通过"元素对象.style.样式属性名"的方式操作。样式属性名对应CSS样式名,但需要去掉CSS样式名里的半字线"-",并将半字线后面的英文的首字母大写。
  常见的style属性操作的样式名如下表:
  2.操作className属性
  在开发中,如果样式修改较多,可以采取操作类名的方式更改元素样式,语法为"元素对象.className"。访问className属性的值表示获取元素的类名,为className属性赋值表示更改元素类名。如果元素有多个类名,在className中以空格分隔。第六部分 例题
  一、练习查找元素的四种方法。页面中有若干列表项,如下图所示。香蕉有id值。香蕉、葡萄、柚子设置red样式类。设置四个按钮,分别设计代码,调用四种方法,体验效果。
  按钮1:根据id查找,弹出消息框:香蕉
  按钮2:根据标签名"li"查找,弹出消息框显示li个数
  按钮3:根据class名"red"查找,弹出消息显示使用red的个数
  按钮4:根据name名btn查找,弹出消息框显示btn个数
  二、熟悉三种查找页面元素的方法,实现三个按钮的功能。
  三、改变页面元素的属性,实现换头像功能。
  四、给元素添加样式类
  五、给元素添加多个样式类
  第七部分 对照表
  使用js操作css属性的写法是有一定的规律的:
  1、 对于没有中划线的css属性一般直接使用style.属性名即可。
  如:obj.style.margin,obj.style.width,obj.style.left,obj.style.position等。
  2、对于含有中划线的css属性,将每个中划线去掉并将每个中划线后的第一个字符换成大写即可。
  如:obj.style.marginTop,obj.style.borderLeftWidth,obj.style.zIndex, obj.style.fontFamily等。
  3、这个规律我想大多数的前端开发者也都熟知。但在css中有一个特殊的属性其js使用方法比较特殊。
  这个特殊的属性就是:float。我们不能直接使用obj.style.float来使用,这样操 作是无效的。
  其正确的使用方法是为:IE:obj.style.styleFloat,其他浏览器:obj.style.cssFloat。
  CSS 和 JavaScript 标签 style 属性对照表:
  盒子标签和属性对照
  CSS语法(不区分大小写)
  JavaScript语法(区分大小写)
  border
  border
  border-bottom
  borderBottom
  border-bottom-color
  borderBottomColor
  border-bottom-style
  borderBottomStyle
  border-bottom-width
  borderBottomWidth
  border-color
  borderColor
  border-left
  borderLeft
  border-left-color
  borderLeftColor
  border-left-style
  borderLeftStyle
  border-left-width
  borderLeftWidth
  border-right
  borderRight
  border-right-color
  borderRightColor
  border-right-style
  borderRightStyle
  border-right-width
  borderRightWidth
  border-style
  borderStyle
  border-top
  borderTop
  border-top-color
  borderTopColor
  border-top-style
  borderTopStyle
  border-top-width
  borderTopWidth
  border-width
  borderWidth
  clear
  clear
  float
  floatStyle
  height
  height
  width
  width
  margin
  margin
  margin-bottom
  marginBottom
  margin-left
  marginLeft
  margin-right
  marginRight
  margin-top
  marginTop
  padding
  padding
  padding-bottom
  paddingBottom
  padding-left
  paddingLeft
  padding-right
  paddingRight
  padding-top
  paddingTop
  颜色和背景标签和属性对照
  CSS 语法(不区分大小写)
  JavaScript 语法(区分大小写)
  background
  background
  background-attachment
  backgroundAttachment
  background-color
  backgroundColor
  background-image
  backgroundImage
  background-position
  backgroundPosition
  background-repeat
  backgroundRepeat
  color
  color
  样式标签和属性对照
  CSS语法(不区分大小写)
  JavaScript 语法(区分大小写)
  display
  display
  list-style-type
  listStyleType
  list-style-image
  listStyleImage
  list-style-position
  listStylePosition
  list-style
  listStyle
  white-space
  whiteSpace
  文字样式标签和属性对照
  CSS 语法(不区分大小写)
  JavaScript 语法(区分大小写)
  font
  font
  font-family
  fontFamily
  font-size
  fontSize
  font-style
  fontStyle
  font-variant
  fontVariant
  font-weight
  fontWeight
  文本标签和属性对照
  CSS 语法(不区分大小写)
  JavaScript 语法(区分大小写)
  letter-spacing
  letterSpacing
  line-break
  lineBreak
  line-height
  lineHeight
  text-align
  textAlign
  text-decoration
  textDecoration
  text-indent
  textIndent
  text-justify
  textJustify
  text-transform
  textTransform
  vertical-align
  verticalAlign

卢彩柳调研2023丽水马拉松筹备情况时强调要将比赛办得安全办得精彩以赛事举办凸显丽水辨识度来源丽水市体育局要闻动态3月2日下午,丽水市人民政府副市长卢彩柳针对2023丽水马拉松赛事筹备情况开展大走访大调研大服务大解题活动,调研赛事安全赛道布设沿线环境整治等工作。市政府副吴兴涵事件女主吴太太存在双国籍情况,济南出入境管理局已确认吴兴涵事件女方发声,济南出入境管理局确认,吴兴涵太太确实存在双重国籍情况。今早接到济南出入境管理局电话,告知已确认并核实了吴太太确实存在双重国籍情况,至于后续处理不得而知,在此感谢世体谈巴萨点球手顺位莱万第一凯西第二,会据场上情况调整直播吧3月6日讯据世界体育报报道,巴萨的第一点球手是莱万,第二点球手是凯西,但会根据比赛情况在场上自由调整。今天凌晨,巴萨10击败瓦伦西亚,费兰托雷斯罚丢点球,在他罚点前,法蒂曾表4名游客遭绑架马路拖行1人枪击惨死昔日度假天堂美加发旅行警告墨西哥向来是美国和加拿大居民的首选度假之地。每逢美加迎来寒冬,大批渴望温暖阳光又追求经济实惠的旅客便会南下前往墨西哥的各大海滩度假村。这一现象之常见,甚至专门有雪鸟族一词来形容。在预告!樱花专列即将上线2023的春天,万象更新,生机勃勃赴一场樱花之约花开缤纷,绯若云霞3月8日浪漫女神节当日武汉地铁1号线8号线将同时上线樱花地铁专列花初放,车驶来1号线列车身披粉色霞衣而来从城市上空以花为媒云南网络大V齐聚曲靖马龙采风来源昆明日报掌上春城浪漫樱花,春色醉人,万木红粉,竞相吐艳。曲靖马龙沈家山樱花迎来了盛花期,吸引不少游客前来观赏。受曲靖市马龙区委宣传部区委网信办邀请,云南省新媒体协会组织了48名将迎繁忙春假洛杉矶国际机场鼓励旅客提前预订服务中国侨网3月7日电据美国世界日报报道,美国洛杉矶国际机场(LAX)预计将迎来繁忙的春假旅行期,预计3月至4月期间将吸引超过1200万名旅客前往机场。客运量和车辆流量的增加,将使今年云中鹤突尼斯怀古马格里布是北非西部的一个地区,包括摩洛哥阿尔及利亚和突尼斯三个国家。今年国庆(2016年),我们兄妹四家八人定制组团,16天游了其中的摩洛哥和突尼斯。我们8人我们从卡萨布兰卡乘飞机给中老年人的忠告,年过50,有2种酒最好不碰,确实太伤身体经历了上次阳康之后的中老年人,也算是非常幸运的一群人。因为人过中年整个人的身体状态都是走下坡路的,而且心里负担生活压力也是多过年轻人的。而对于年过50的人来说更是已经步入晚年的时光艾灸的适宜和禁忌,您真的了解吗?一首先就是艾灸的适宜和禁忌问题1所有人都适合艾灸吗?在介绍某个症状的艾灸方法时,有人会问,这是所有人都适用的吗?当然不是,人们对于艾灸也是有适宜和不适宜之分的。阴虚之人,是不建议艾它是长寿菜,一吃通便,二吃护肝脏,三吃降压,中老年要常吃长寿几乎是世界各民族的追求,髙营养低热量饮食,有效延缓衰老速度延长寿命。疫情过后很多年轻人,小病不断,爬个楼梯都气喘吁吁的,体力也不怎么好。营养要均衡,才能增强身体抵抗力。每天吃5
人民日报公布高智商儿童的22个特征,看看你家孩子中了几条?前段时间,我在网上看到了人民日报发的一组内容。里面总结了高智商儿童的22个特征。具体如下1。在倾听观察或做事时,精神高度集中,以至听不见别人的说话或忘了吃饭等。哦,我没听见你叫我吃50的女性出门被叫小姐姐,皮肤细腻白嫩紧致,是怎么保养的?说起女人最在意的部分,可能就是她们的脸蛋了,每个人都渴望拥有白皙细腻紧致的肌肤,但是终究抵挡不住岁月的流逝,岁月还是会在脸上留下一定的痕迹,那么,要想让皱纹来得迟一点,让自己更加年盘点2021王者出的所有皮肤,看看你都知道哪些眼看2021年马上就要过去了,本期就带大家回顾一下2021王者出的所有皮肤,喜欢的兄弟们记得点赞支持一下谢谢大家!1月1号上线孙膑的KPL限定皮肤天狼运算者,售价472点券,活动结樊振东已经开启了自己的时代,一生之敌张本智和根本无法匹敌经过奥运会世乒赛世界杯的磨练之后,24岁的樊振东大赛经验已经非常丰富,各项技术都已经逐渐达到炉火纯青的地步。从目前来看,樊振东已经具备了统治世界乒坛的能力和水平。张本智和现在距离小完败给樊振东有原因莫雷加德曾2次做手术,深受遗传病困扰尽管在世乒赛男单决赛中完败给樊振东,但瑞典小将莫雷加德还是让人眼前一亮,他的技战术能力和少年老成的气质征服了很多中国球迷。可很少有人知道,莫雷加德也来自乒乓世家,而且他和兄弟一直受官方提前开箱,SteamDeck掌机公开外包装Valve的最新掌机SteamDeck于最近进行了官方开箱,算是让那些欲眼望穿的玩家先睹为快。因为机子已经推迟到明年2月份发货,正常拿到还要再等更多的几个月。和不俗的售价相比,St官方雄鹿球员格雷森阿伦因对卡鲁索恶意犯规被禁赛一场直播吧1月24日讯NBA官方今日宣布,联盟已对雄鹿球员格雷森阿伦处以禁赛一场的处罚,禁赛原因是他在22日比赛中对公牛球员卡鲁索进行了不必要的过度接触,导致卡鲁索严重受伤。阿伦将在1韩德君恐赛季报销,杜峰难辞其咎,闫军左右为难,官方承认错判辽宁男篮最近几轮打得如此艰难,球迷更加怀念韩德君,都说韩德君状态下滑成为球队的负担,可没有韩德君的辽宁队则是举步维艰,导致韩德君受伤的始作俑者威姆斯,在赛后就急匆匆离开了长春赛区,名记宋翔透露最新动态,辽篮迎来好消息,这或是冲冠最好机会目前CBA联赛激战正酣,而第二阶段比赛已经接近尾声,而第三阶段如何开启成为球迷和媒体更为关注的话题,1月23日终于有了最新消息,据北京青年报记者宋翔在社交媒体上透露由于男篮缺席世预iPhoneSE3最新的A15芯片,没变的大小,售价最便宜的苹果5G手机从华为被制裁,苹果夺下了华为的高端市场,而现在更加有一区跟安卓阵营抢更多的市场份额,而搭载了最新的a15芯片的iPhoneSE三代很明显就是占领中端市场。而预计在2022年3月份,iphonex的无线充电可能开启了苹果的下一个充电时代在2017年9月22日,iPhonex正式发布了,苹果终于迎来了全面屏时代,而经典的刘海屏在14上会迎来改变终于没有大刘海了而iPhone14的无线充电可能升级到了35W。回想起2