版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
什么是Dom?Dom:英文全称-DocumentObjectModel译成中文即是:文档对像模型.听起来很术语,其实就是文档内容的结构关系.文档类型可以是HTML或XML
Dom具有对Html文件和XML文件元素的访问控制能力,简单点说利用Dom可以对某个html或xml文件添加,修改,删除元素.更改其现有的结构或内容.如果你未接触过Dom,你会发现Dom太神奇了...不管你是菜鸟还是高手,在这个注重用户体验的web设计时代里,Dom是至关重要的.如果你是一名有经验的web设计者,你应该看到过或用过以下这些命令或方法getElementByIdgetElementsByTagNameoffsetParentappendChildgetAttribute不过至今仍有人认为这些都是JavaScript中的东西,其实不然,这些全是Dom中很重要的方法!Dom手册下载地址Dom并非一种编程语言,Dom只是提供了一系列的接口,利用Dom的这些接口可以很方便的读取,修改,删除Html和XML文件中的标签元素和文本内容.在这里我们侧重于讲解Dom对Html文件的操作.那么Dom是如何读取和管理Html文件的呢?首先你必须要了解html的源码结构.看图
如果你有学过或写过Html,那么你会对上图一目了然.我想要说明的就是Html的源码结构是有层次的,而且标签与杯签之间还存在着父子,或相邻的关系.上图不难看出HTML这个标签是最顶级的.最上层的.也可以理解成html文件的根.其次是Head与Body标签.这两个标签是相邻的.也可以理解成兄弟关系.但他们都属于html的子标签或称为子元素.然后Body标签内包含了Table,Div,Div.这三个标签你可以理解为Body的子标签或子元素.Body为父他们为子.Head所含的标签也是同理.另外第一个div内包含了另一个div.第二个div内包含了一些文本内容.他们的关系也是父子关系.Dom正是利用了Html源码的这种关系结构.而巧妙的在你的html源码中行走自如.犹如一位武林高手一般.尽情地施展他的"凌波微步".看下面的代码.代码结构与上图是吻合的.不同的是多了几个按扭来执行一些dom的指令操作.运行以后你便走进了Dom的神秘与精彩世界!!!<html><head><title>这是网页的标题</title><link/><meta/><body><tableborder="1"><table><div><div></div></div><div>文本内容</div><inputtype="button"value="弹出html标签"onclick="alert_HTML()"/><inputtype="button"value="弹出body标签"onclick="alert_Body()"/><inputtype="button"value="弹出head标签"onclick="alert_Head()"/><inputtype="button"value="修改网页标题"onclick="up_Title()"/><inputtype="button"value="更改表格"onclick="up_Table()"/><inputtype="button"value="获取第一个div和他的子元素"onclick="get_Div()"/><inputtype="button"value="更改第二个div中的文本内容"onclick="up_div_text()"/></body></html><scripttype="text/javascript">functionalert_HTML(){//弹出html标签函数varhtml=document.documentElement;alert(html.tagName);}functionalert_Body(){//弹出body标签函数varbody=document.body;alert(body.tagName);}functionalert_Head(){//弹出head标签函数,varhtml=document.documentElement;//head是html标签中的第一个子元素//childNodes可以获取某一标签内的所有子元素varhead=html.childNodes[0].tagName;alert(head);}functionup_Title(){//注意title标签内的"这是网页的标题"将被改变.document.title="Web圈提提供的Dom图解入门教程";}functionup_Table(){//为表格添加行,添加列并写入文本内容varTable=document.getElementsByTagName("table")[0];//获取网页内第一个表格varTr=Table.insertRow(0);//为表格添加一行varTd=Tr.insertCell(0);//为新建的行,添加一列Td.innerHTML="我是表格中的文本";//利用innerHTML属性向td写入文本}functionget_Div(){//获取第一个div和他的孩子vardiv=document.getElementsByTagName("div")[0];alert("我是第一个"+div.tagName);varchild_div=div.childNodes[0];//虽然是子div,但是按解析顺序他在该页内是第二个出现的div,alert("我是第一个div的子元素.我也是"+child_div.tagName);}functionup_div_text(){vardiv=document.getElementsByTagName("div")[2];//其实如果按解析顺序该div在本页应该是第3个,div.innerHTML="欢迎阅读web圈提供的Dom图解入门教程.作者:康董";}</script>上面演示的代码实例.略有繁琐.并非是Dom最优秀的使用方法.但足以让你了解Dom是怎样工作的.
下面将演示Dom迅速访问某个标签的方法.可以让你在成千上万个html标签中迅速找到你想的某个标签.比如你可以为你的html标签添加一个ID属性.在Dom中有一个getElementById方法.该方法可以根据html标签的ID属性值,迅速找到这个标签.然后对其进行更改或其他操作.
下面的代码我只为table和第一个div添加一个id属性值.利用getElementByid迅速向able和第一个div的子div添加内容<html><head><title>这是网页的标题</title><link/><meta/><body><tableid="a"border="1"><table><divid="b"><div></div></div><div>文本内容</div><inputtype="button"value="更改table"onclick="up_table()"/><inputtype="button"value="为第一个div的子div写入文本"onclick="up_div()"/></body></html><scripttype="text/javascript">functionup_table(){//更改table函数varTable=document.getElementById("a");//根据id获取标签元素varTr=Table.insertRow(0);varTd=Tr.insertCell(0);Td.innerHTML="欢迎光临Web圈,网址:";}functionup_div(){//为第一个div的子div添加文本内容vardiv=document.getElementById("b");div.childNodes[0].innerHTML="我是子div,我被写入文本了";}</script>上面的两个例子中分别使用了Dom的以下方法:
document:对当前整个Html网页的引用
documentElement:获取html和xml文件中的根元素.在html文件中总是返回Html标签.在xml文件中总是返回最顶层的那个元素
getElementsByTagName:根据指定的标签名称,来获取网页中所有相同的标签元素.如:table,或div.则会找出网页中所有table元素,或所有div元素.以一个类似数组的方式来返回对这些元素的引用.
getElementById:根据指定的标签id值.来寻找标签元素.并返回对该标签的引用
childNodes:获取某个标签下所有的子标签元素,也就是我所说的孩子元素.并以一个类似数组的方式来返回对所有子元素的引用
insertRow:为表格增加一行
insertCell:为表格的某行增加一列
该入门教程只讲解了Dom中的一部份知识,请了解更多关于Dom的内容Dom可以在网页中做什么?HTMLDom中最常用的几个方法之查找元素Dom之引用当前整个网页文档:documentDom如何快速在网页中查找某一元素:getElementByIdDom中查找一组标签,具有相同名称的标签元素:getElementsByTagName根据标签的Id属性值或name属性来查找多个元素:getElementsByNameDom中创建,添加,删除,修改,替换,复制,网页中的标签和文本内容的方法如下.在网页中的创建一个标签元素:createElement创建一段文本内容:createTextNode向网页中添加元素:appendChild删除元素的Dom方法是:removeChild修改网页中标签元素的属性:setAttribute替换已存在的标签或元素:replaceChild复制克隆已存在的标签或元素:cloneNode获取和修改元素内的html标签与文本内容:innerHTML获取或修改元素的文本内容,仅支持IE:innerText获取或修改元素的文本内容,支持FF:textContentHTMLDom中还专门提供了一组接口用来操作网页中的表格Table元素HTMLDom中的insertRow方法可以为表格增加一行删除表格中一行的方法是:deleteRowHTMLDom中的insertCell方法可以为表格某行中增加一列删除行中的一列的方法是:deleteCellHTMLDom中的createCaption方法可以为表格创建一个标题HTMLDom中的createTHead方法可以为表格创建一个TheadHTMLDom中的createT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一次性竹制餐具供货与可持续资源开发合同2篇
- 幼儿园教研工作制度模版(2篇)
- 人力资源助理的工作职责(2篇)
- 2025年小学班主任德育计划例文(2篇)
- 幼儿园幼儿膳食管理制度范文(2篇)
- 2025年英语教师工作计划模版(3篇)
- 夏季汛期安全工作方案(2篇)
- 教职工上下班工作制度(2篇)
- 二零二五年度快递代理权转让与业绩考核合同范本3篇
- 2025年幼儿园卫生保健工作计划例文(二篇)
- 上海市12校2025届高三第一次模拟考试英语试卷含解析
- 重庆市渝中区2023-2024学年八年级上学期期末考试数学试题含答案及解析
- 【MOOC】教学研究的数据处理与工具应用-爱课程 中国大学慕课MOOC答案
- 工商企业管理毕业论文范文 工商企业管理5000论文范文
- 《小学科学实验创新》课件
- 2024年手术室护士年度工作计划(4篇)
- 财务管理基础规范操作手册
- 米酒酿造工艺
- 点式高层住宅工程施工组织设计
- 2024-2025学年九年级上册历史期末复习历史观点论述题(解题指导+专项练习)解析版
- GB/T 44696-2024剧院服务规范
评论
0/150
提交评论