




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章DOM对象,主讲:罗弟华mail:12500791,DOM,学习内容:什么是DOM?DOM的结构模型DOM常用属性DOM常用方法,DOM案例,我们要运用DOM技术完成一个游戏:“星星点点”该游戏可升级为更具挑战性的看你能坚持多久游戏:即页面会自动生成星星,但点击星星又可以删除该星星。则如果页面中小星星数目达到20就算游戏结束。当然在期间需要计时,看谁坚持的时间长。,DOM,什么是domDocumentObjectModel(文档对象模型)为HTML、XML文件的操作提供了API。它提供了文件的结构表述。是建立网页与Script程序语言沟通的桥梁。,DOM节点与层次,例如一个(x)html文档:modelnoodlefishsugar,DOM的结构模型分析,Html元素有两个子元素:和(它们是兄弟关系)Head元素有1个子元素:title元素有一个子元素:modelBody元素有1个子元素:有3个子元素都是每个li又分别有1个子元素:noodle、fish、sugar。,DOM节点引入,XHTML文档中的每个成分都是一个节点。DOM是这样规定的:整个文档是一个文档节点每个XHTML标签是一个元素节点包含在XHTML元素中的文本是文本节点每一个XHTML属性是一个属性节点注释属于注释节点,元素节点,、等元素称为元素节点元素节点可以包含其他节点获取元素节点可以用:document.getElementById(“idname”)document.getElementsByName(“name”)注意:getElementsByName(name),保证兼容性,只用于表单document.getElementsByTagName(“tagname”),文本节点,例子中元素中包含着文本“model”,model就是一个文本节点。在XHTML文档中,文本节点总是被包含在元素节点的内部。,属性节点,有些元素节点会有一些属性(如img上的src属性),则在DOM中就叫做属性节点,用以对元素做更具体的描述中的src=“123.jpg”就是一个属性节点获取属性可以用两种方法:element.getAttribute(“属性名”);element.属性名;/element代表某个元素节点更改属性也可以用两种方法:element.setAttribute(“属性名”,属性值);Element.属性名=属性值;,属性节点,获取一个元素的所有属性节点element.attributes;其结果是一个数组,可以通过数组下标访问各个属性,获取属性值nodeValue获取属性类型nodeType获取属性名称nodeName,varobj1=document.getElementById(n1);varattr=obj1.attributes;alert(attr0.nodeType);/实际上,属性节点的属性类型都是2alert(attr0.nodeName);alert(attr0.nodeValue);,DOM的节点关系示意图,DOM常用属性,documentElement:该文档的根节点范例:rootNode=xmldoc.documentElementchildNodes:该节点的所有非属性的子节点的集合范例:FirstNode=Element.childNodes(0);firstChild:该节点的第一个非属性的子节点范例:FirstChildNode=Element.firstChild;lastChild:该节点的最后一个非属性的子节点范例:LastChildNode=Element.lastChild;,DOM常用属性,nextSibling:与本节点位于同一层级且同父的下一个节点范例:NextElement=Element.nextSibling;parentNode:该节点的父节点(不适用于属性节点)范例:ParentElement=Element.parentNode;previousSibling:与本节点位于同一层级且同父的前一个节点范例:PreviousElement=Element.previousSibling;,DOM常用属性,nodeName:节点的名称(对元素节点和属性节点有效)范例:ElementName=Element.nodeName;nodeType:表示该节点类型的数值码范例:NodeTypeCode=Node.nodeType;注意:nodeType的返回结果是一个数字,其含义为:1代表元素节点,2代表属性节点,3代表文本节点nodeValue:该节点的值(对属性节点和文本节点有效)范例:AttributeValue=Attribute.nodeValue;注意:元素节点,返回null;属性节点,返回属性的值。文本节点,返回文本节点的内容。,DOM常用方法,获得属性设置属性判断节点创建节点克隆节点添加节点删除节点替换节点,属性,获得属性getAttribute(属性名)设置属性setAttribute(属性名,值);,设置样式属性:Element.style.background=“red”;设置元素类(class)属性:Element.className=“className”;,DOM,判断某节点是否包含子节点:hasChildNodes()用来检查给定元素是否有子节点,返回结果为bool值varbooleanValue=element.hasChildNodes(),创建节点,createElement(标签名)建立一个指定名称的元素。范例:varn=document.createElement(div)createTextNode(字符串)建立一个新的text节点范例:varn=document.createTextNode(“23.9”);,添加节点,appendChild(oNode)追加一个子节点(作为最后的子结点)范例:parentNode.appendChild(newnode)insertBefore在一个父节点中的某子节点前插入一个新的子节点范例:parentNode.insertBefore(newC,refC);说明:newC表示要插入的新节点,refC表示要插入其之前的现有节点,克隆节点,cloneNode()为给定节点创建一个副本,参数为true或false,true表示同时复制该节点的子节点,false则不复制任何子节点。范例:varref=node.cloneNode(true),删除节点,removeChild()将从一个给定元素里删除一个子节点pNode.removeChild(node),替换节点,replaceChild()把给定父元素里的一个子节点替换为另外一个节点parentNode.replaceChild(newChild,oldChild),给节点设置html内容,innerHTML给节点添加html代码该方法不是w3c的标准,但是主流浏览器支持parentNode.innerHTML(“要显示内容”);,JS操作css,使用js操作css属性的写法是有一定的规律的:对于没有中划线的css属性一般直接使用style.属性名即可。如:obj.style.margin,obj.style.width,obj.style.left,obj.style.position等。对于含有中划线的css属性,将每个中划线去掉并将每个中划线后的第一个字符换成大写即可。如:obj.style.marginTop,obj.style.borderLeftWidth,obj.style.zIndex,obj.style.fontFamily等。,Dom案例2-图片放大突出显示,如右图所示:上图为初始状态下图为鼠标放上去后当然鼠标离开后又恢复,JS操作样式与属性的两个特例,对于元素的属性(如),其在js中的一般访问方法是:obj.属性名;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 登报遗失租赁合同范本
- 过期妊娠催产素引产护理查房
- 医疗保障贷款合同
- 服务保理合同范本
- 美团电车合同范本
- 兼职配音协议合同范本
- 公务员合同范本
- 光伏售后合同范本
- 地皮转让流转合同范本
- 养鸡棚租赁合同范本
- 风光储储能项目PCS舱、电池舱吊装方案
- 原发性骨质疏松症诊疗指南(2022版)第一部分
- 重庆医科大学附属第一医院改建PET-CT、PET-MR项目环评报告
- 2022水电站计算机监控系统上位机现场验收标准手册
- 政务服务大厅管理规范:安全与应急处置
- 食管癌病人护理查房
- 双重预防机制构建-隐患排查治理(中石化中原油田天然气厂)
- 五牌一图(完整版)
- 二年级下册音乐《每天》教案
- 音乐美学.课件
- 心肺复苏说课比赛课件模板(一等奖)
评论
0/150
提交评论