




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Javascript获取网页中HTML元素的集中方法分析getElementByIdgetElementsByNamegetElementsByTagName大概介绍getElementById,getElementsByName,getElementsByTagName后两个是得到集合,byid只是得到单个对象getElementById的用法举个例子: 网页陶吧同一页面内的引用方法:1、使用id:link1.href,返回值为2、使用name:document.all.linkname1.href,返回值为3、使用sourseIndex:document.all(4).href/注意,前面还有HTML、HEAD、TITLE和BODY,所以是44、使用链接集合:document.anchors(0).href/全部的集合有all、anchors、applets、areas、attributes、behaviorUrns、bookmarks、boundElements、cells、childNodes、children、controlRange、elements、embeds、filters、forms、frames、images、imports、links、mimeTypes、options、plugins、rows、rules、scripts、styleSheets、tBodies、TextRectangle,请参考MSDN介绍。其实方法3和方法4是一样使用的集合,只是一个是all,可以包括页面所有标记,而anchors只包括链接。5、getElementById:document.getElementById(link1).href6、getElementsByName:document.getElementsByName(linkname1)0.href/这也是一个集合,是所有name等于该方法所带参数的标记的集合7、getElementsByTagName:document.getElementsByTagName(A)0.href/这也是一个集合,是所有标记名称等于该方法所带参数的标记的集合8、tags集合:document.all.tags(A)0.href/与方法7一样是按标记名称取得一个集合除此之外:event.scrElement可以获得触发时间的标记的引用;document.elementFromPoint(x,y)可以获得x和y坐标处的元素的引用;ponentFromPoint(event.clientX,event.clientY)可以获得鼠标所在处元素的引用;还可以通过元素的父子节点和兄弟节点关系来引用,如nextSibling(当前节点的后一节点)、previousSibling(当前节点的前一节点)、childNodes、children、firstChild、lastChild、parentElement等都是父子节点和兄弟节点的一些引用;还不仅限于此。上面是同一页面内的常见引用方法,另外还涉及到不同页面中的getElementsByName返回的是所有name为指定值的所有元素的集合“根据NAME标签属性的值获取对象的集合。”集合比数组要松散的多,集合里每个子项的类型可以不同,集合只是把某些元素放在一起作为一类来使用,相比之下数组就严格多了,每个子项都是统一的类型.document.getElementsByName,document.getElementsByTagName,document.formName.elements这类方法所得到的结果都是集合.例:Codefishfunctionget()varxx=document.getElementById(bbs)alert(标记名称:+xx.tagName);functiongetElementName()varele=document.getElementsByName(happy);alert(无素为happy的个数:+ele.length);获取文件指定的元素document.getElementsByName()这个方法.它对一个和多个的处理是一样的,我们可以用:Temp=document.getElementsByName(happy)来引用当Temp只有1个的时候,那么就是Temp0,有多个的时候,用下标法Tempi循环获取也有例外:在ie中getElementsByName(“test“)的时候返回的是id=test的object数组,而firefox则返回的是name=test的object的数组。按照w3c的规范应该是返回的是name=test的object的数组。firefox和ie中的getElementByID相同:获取对ID标签属性为指定值的第一个对象的引用。注意getElementsByName有s在里面document.getElementById()可以控制某个id的tagdocument.getElementsByName(),返回的是一个具有相同name属性的元素的集合,而不是某个,注意有“s”。而document.getElementsByTagName()返回的是一组相同TAG的元素集合。同一个name可以有多个element,所以用document.getElementsByName(theName)他return一个collection,引用的时候要指名indexvartest=document.getElementsByName(testButton)0;id那个,是唯一的还应该注意:对类似没有name属性,对它name属性为伪属性document.getElementsByName()会失效,当然TD可以设置ID属性JavaScript获取HTML DOM节点元素的方法的总结在Web应用程序特别是Web2.0程序开发中,经常要获取页面中某个元素,然后更新该元素的样式、内容等。如何获取要更新的元素,是首先要解决的问题。令人欣慰的是,使用JavaScript获取节点的方法有很多种,这里简单做一下总结(以下方法在IE7和Firefox1测试通过):1. 通过顶层document节点获取: (1) document.getElementById(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法。如果页面上含有多个相同id的节点,那么只返回第一个节点。 如今,已经出现了如prototype、Mootools等多个JavaScript库,它们提供了更简便的方法:$(id),参数仍然是节点的id。这个方法可以看作是document.getElementById()的另外一种写法,不过$()的功能更为强大,具体用法可以参考它们各自的API文档。 (2)document.getElementsByName(elementName):该方法是通过节点的name获取节点,从名字可以看出,这个方法返回的不是一个节点元素,而是具有同样名称的节点数组。然后,我们可以通过要获取节点的某个属性来循环判断是否为需要的节点。 例如:在HTML中checkbox和radio都是通过相同的name属性值,来标识一个组内的元素。如果我们现在要获取被选中的元素,首先获取改组元素,然后循环判断是节点的checked属性值是否为true即可。 (3)document.getElementsByTagName(tagName):该方法是通过节点的Tag获取节点,同样该方法也是返回一个数组,例如:document.getElementsByTagName(A)将会返回页面上所有超链接节点。在获取节点之前,一般都是知道节点的类型的,所以使用该方法比较简单。但是缺点也是显而易见,那就是返回的数组可能十分庞大,这样就会浪费很多时间。那么,这个方法是不是就没有用处了呢?当然不是,这个方法和上面的两个不同,它不是document节点的专有方法,还可以应用其他的节点,下面将会提到。 2、通过父节点获取: (1)parentObj.firstChild:如果节点为已知节点(parentObj)的第一个子节点就可以使用这个方法。这个属性是可以递归使用的,也就是支持parentObj.firstChild.firstChild.firstChild.的形式,如此就可以获得更深层次的节点。 (2)parentObj.lastChild:很显然,这个属性是获取已知节点(parentObj)的最后一个子节点。与firstChild一样,它也可以递归使用。 在使用中,如果我们把二者结合起来,那么将会达到更加令人兴奋的效果,即:parentObj.firstChild.lastChild.lastChild. (3)parentObj.childNodes:获取已知节点的子节点数组,然后可以通过循环或者索引找到需要的节点。注意:经测试发现,在IE7上获取的是直接子节点的数组,而在Firefox1上获取的是所有子节点即包括子节点的子节点。 (4)parentObj.children:获取已知节点的直接子节点数组。注意:经测试,在IE7上,和childNodes效果一样,而Firefox1不支持。这也是为什么我要使用和其他方法不同样式的原因。因此不建议使用。 (5)parentObj.getElementsByTagName(tagName):使用方法不再赘述,它返回已知节点的所有子节点中类型为指定值的子节点数组。例如:parentObj.getElementsByTagName(A)返回已知的子节点中的所有超链接。3、通过临近节点获取: (1)neighbourNode.previousSibling:获取已知节点(neighbourNode)的前一个节点,这个属性和前面的firstChild、lastChild一样都似乎可以递归使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件项目开发与测试进度表
- 机械制造工艺与设备操作指南
- 跨部门团队协作策略研讨会纪要报告
- 贵州国企招聘2024贵州页岩气勘探开发有限责任公司招聘42人笔试参考题库附带答案详解
- 农业文化传承与推广指南
- 四川宽窄优品商贸有限责任公司成都分公司招聘笔试参考题库附带答案详解
- 贵州2025年贵州开放大学(贵州职业技术学院)招聘41人笔试历年参考题库附带答案详解
- 潍坊2025年山东潍坊市坊子区事业单位招聘35人笔试历年参考题库附带答案详解
- 济宁2025年山东济宁市市属事业单位招聘初级综合类岗位人员笔试历年参考题库附带答案详解
- 我国机器人法应包括的主要内容
- 润滑油系统介绍课件
- 医疗机构设置选址报告
- 吊装起重作业票
- DB32-T 3132-2016机插稻工厂化育秧技术规程-(高清现行)
- 银行网点装饰装修施工组织设计(134页)
- 部编版二年级语文下册第七单元教材分析研读
- 小微企业信贷业务培训.
- 地理信息安全在线培训考试-填空题
- 植物保护结业试题
- 超市每月活动促销的时间及主题
- 景德镇物业管理服务收费管理实施细则
评论
0/150
提交评论