电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

js获取HTML元素节点方法

7页
  • 卖家[上传人]:大米
  • 文档编号:478080666
  • 上传时间:2023-02-24
  • 文档格式:DOCX
  • 文档大小:17.26KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、Javascript获取网页中HTML元素的集中方法分析getElementByld getElementsByName getElementsByTagName 大概介绍getElementByld , getElementsByName , getElementsByTagName后两个是得到集合,byid只是得到单个对象getElementByld 的用法举个例子: 网页陶吧v/ a同一页面内的引用方法:1、使用id:linkl.href,返回值为 http:/2、使用 name:document.all.linknamel.href,返回值为 http:/3、使用 sourseIndex:document.all(4).href /注意,前面还有 HTML、HEAD、TITLE 和 BODY,所以是 44、使用链接集合:docume nt.a nchors(0).href全部的集合有 all、anchors、applets、areas、attributes、behaviorUrns、bookm arks、boundElements、cells、childNodes、childr

      2、en、controlRange、elements、emb eds、filters forms、frames、images、imports、links、mimeTypes、options、plugi ns、rows、rules、scripts、styleSheets、tBodies、TextRectangle,请参考 MSDN 介绍。其实方法3和方法4是一样使用的集合,只是一个是all,可以包括页面所有标记,而anchors只包括链接。5、getElementByld:docume nt.getEleme ntById(li nk1).href6、getElementsByName:document.getElementsByName(linkname1)0.href /这也是一个集合,是所有 n ame等于该方法所带参数的标记的集合7、getElementsByTagName:docume nt.getEleme ntsByTagName(A)O.href / 这也是一个集合,是所有标记名 称等于该方法所带参数的标记的集合8、tags 集合:docume nt.all.tags(A)O

      3、.href与方法7一样是按标记名称取得一个集合除此之外:event.scrElement可以获得触发时间的标记的引用;document.elementFromPoint(x,y)可以获得x和y坐标处的元素的引用;docume p onen tFromPo in t(eve nt.clie ntX,eve nt.clie ntY)可以获得鼠标 所在处元素的引用;还可以通过元素的父子节点和兄弟节点关系来引用,如nextSibling(当前节点的后一节 点)、previousSibling(当前节点的前一节点)、childNodes、children、firstChild、lastChil d、parentElement等都是父子节点和兄弟节点的一些引用;还不仅限于此。上面是同一页面内的常见引用方法,另外还涉及到不同页面中的getElementsByName返回的是所有name为指定值的所有元素的集合根据NAME标签属性的值获取对象的集合。”集合比数组要松散的多,集合里每个子项的类型可以不同,集合只是把某些元素放在一起作 为一类来使用,相比之下数组就严格多了,每个子项都是统一的类型.docu

      4、ment.getElement sByName, document.getElementsByTagName, document.formName.elements 这 类方法所得到的结果都是集合.例:田日Codedocume nt.getEleme ntsByName()这个方法.它对一个和多个的处理是一样的,我们可以 用:Temp = docume nt.getEleme ntsByName(happy)来引用当Temp只有1个的时候,那么就是Temp0,有多个的时候,用下标法Tempi循环获取也有例外:在 ie 中 getElementsByName(test“)的时候返回的是 id=test 的 object 数组,而 firefox则返回的是name= test的object的数组。按照w3c的规范应该是返回的是name= test的object的数组。firefox和ie中的getElementBylD相同:获取对ID标签属性为指定值的第一个对象的引 用。注意getElementsByName 有s在里面document.getElementById()可以控制某个 id

      5、的 tagdocument.getElementsByName(),返回的是一个具有相同name属性的元素的集合, 而不是某个,注意有“s”。而 document.getElementsByTagName() 返回的是一组相同 TAG 的元素集合。同 一 个 name 可 以 有 多 个 element , 所 以 用 document.getElementsByName(theName)他return 一个collection,引用的时候要指名indexvar test = document.getElementsByName(testButton)0;id 那个,是唯一的还应 该 注意 : 对 类似没有 name 属 性,对它 name 属 性为伪属 性 document.getElementsByName() 会失效,当然 TD 可以设置 ID 属性JavaScript获取HTML DOM节点元素的方法的总结在Web应用程序特别是Web2.0程序开发中,经常要获取页面中某个元素,然后更新该元素 的样式、内容等。如何获取要更新的元素,是首先要解决的问题。令人欣慰的是,使用JavaS

      6、cript 获取节点的方法有很多种,这里简单做一下总结(以下方法在IE7和Firefox2.0.0.11测试通 过):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属性值,

      7、来标识一个 组内的元素。如果我们现在要获取被选中的元素,首先获取改组元素,然后循环判断是节点的 checked属性值是否为true即可。(3) document.getElementsByTagName(tagName):该方法是通过节点的Tag获取节点,同样该方法也是返回一个数组,例如:docume nt.getEleme ntsByTagName(A)将会返回页面上所有超链接节点。在获取节点之前,一般都是知道节点的类型的,所以使用该方法比较简单。但是缺点也是显而易见,那就是返 回的数组可能十分庞大,这样就会浪费很多时间。那么,这个方法是不是就没有用处了呢?当然 不是,这个方法和上面的两个不同,它不是document节点的专有方法,还可以应用其他的节 点,下面将会提到。2、通过父节点获取:(1) parentObj.firstChild:如果节点为已知节点(parentObj)的第一个子节点就可以使用这个方法。这个属性是可以递归使用的,也就是支持parentObj.firstChild.firstChild.firstChild的形式,如此就可以获得更深层次的节点。(2) paren

      8、tObjlastChild:很显然,这个属性是获取已知节点(parentObj)的 最后一个子节点。与firstChild 一样,它也可以递归使用。在使用中,如果我们把二者结合起来,那么将会达到更加令人兴奋的效果,即:pare ntObj.firstChild.lastChild .l astChild.(3) parentObj.childNodes:获取已知节点的子节点数组,然后可以通过循环或 者索引找到需要的节点。注意:经测试发现,在IE7上获取的是直接子节点的数组,而在Firefox2.0.0.11上获取的是 所有子节点即包括子节点的子节点。(4) parentObj.children:获取已知节点的直接子节点数组。注意:经测试,在IE7上,和childNodes效果一样,而Firefox2.0.0.11不支持。这也是为 什么我要使用和其他方法不同样式的原因。因此不建议使用。(5) parentObj.getElementsByTagName(tagName):使用方法不再赘述,它返回已知节点的所有子节点中类型为指定值的子节点数组。例如:pare ntObj.getEleme ntsByTagName(A)返回已知的子节点中的所有超链接。3、通过临近节点获取:(1) neighbourNode.previousSibling:获取已知节点(neighbourNode)的前一 个节点,这个属性和前面的firstChild、lastChild 一样都似乎可以递归使用的。(2) neighbourNode.nextSibling:获取已知节点(neighbourNode)的下一个节 点,同样支持递归。4、通过子节点获取:(1) childNode.parentNode:获取已知节点的父节点。上面提到的方法,只是一些基本的方法,如果使用了 Prototype等JavaScript库,可能还 获得其他不同的方法,例如通过节点的class获取等等。不过,如果能够灵活运用上面的各种方 法,相信应该可以应付大部分的程序

      《js获取HTML元素节点方法》由会员大米分享,可在线阅读,更多相关《js获取HTML元素节点方法》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.