分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

HTML DOM firstChild lastChild nextSibling previousSibling 属性_获取属性值的undefined问题

发布时间:2023-09-06 01:57责任编辑:郭大石关键词:HTMLDOM
 1 <html> 2 ?<head> 3 ??<title>HTML示例</title> 4 ??<style type="text/css"> 5 ?6 ??</style> 7 ?</head> 8 ?<body> 9 10 ????<ul id="ulid">11 ????????<li id="li1">qqqqq</li>12 ????????<li id="li2">wwww</li>13 ????????<li id="li3">yyyyyy</li>14 ????????<li id="li4">test1111</li>15 ????</ul>16 17 ????<script type="text/javascript">18 ????????19 ????????//获取ul的第一个子节点 id=li120 ????????//得到ul21 ????????var ul1 = document.getElementById("ulid");22 ????????//第一个子节点23 ????????var li1 = ul1.firstChild;24 ????????alert(li1.id);25 26 ????????//得到最后一个子节点27 ????????var li4 = ul1.lastChild;28 ????????alert(li4.id);29 30 ????????//获取li的id是li3的上一个和下一个兄弟节点31 ????????var li3 = document.getElementById("li3");32 ????????alert(li3.nextSibling.id);33 ????????alert(li3.previousSibling.id);34 ????????35 ????</script>36 ?</body>37 </html>

以上案例在Google Chrome和IE是undefined,并且打印一下lastChildNode 显示是Object Text,是因为在高级浏览器里面,通过前述API拿到的第一和最后一个子标签是文本标签(文本节点),跟childNodes属性类似,因此,我们在碰到这些状况的时候,还是不建议使用,建议透过getElementsByTagName()的方法获取子元素.

解决办法:

不使用HTML DOM firstChild 属性、HTML DOM lastChild 属性、HTML DOM nextSibling 属性、HTML DOM previousSibling 属性

改为使用HTML DOM getElementsByTagName() 方法

 1 <html> 2 ?<head> 3 ??<title>HTML示例</title> 4 ??<style type="text/css"> 5 ?6 ??</style> 7 ?</head> 8 ?<body> 9 10 ????<ul id="ulid">11 ????????<li id="li1">qqqqq</li>12 ????????<li id="li2">wwww</li>13 ????????<li id="li3">yyyyyy</li>14 ????????<li id="li4">test1111</li>15 ????</ul>16 17 ????<script type="text/javascript">18 ????????19 ????????var li=document.getElementsByTagName("li");20 ????????21 ????????for (var i=0;i<li.length;i++) {22 ????????????alert(li[i].id);23 ????????}24 ????????25 ????</script>26 ?</body>27 </html>

HTML DOM firstChild lastChild nextSibling previousSibling 属性_获取属性值的undefined问题

原文地址:https://www.cnblogs.com/denggelin/p/9104549.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved