无法获取未定义或 null 引用的属性“firstChild”

No_what_cant 2013-06-14 10:57:02
<script language="javascript">
function Ba()
{
var name=document.getElementById("dv");
var c=name.lastChild.firstChild.firstChild.innerHTML;
alert(c);
}
</script>
<body>
<table id="dv">
<thead>
<td>学期</td>
<td>姓名</td>
<td>班级</td>
</thead>
<tbody>
<tr>
<td>123</td>
<td>456</td>
<td>789</td>
</tr>
</tbody>
</table>
<input type="button" value="查看" onclick="Ba()">
</body>

为什么会报 无法获取未定义或 null 引用的属性“firstChild”
...全文
3048 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
RickzdWen 2013-06-15
  • 打赏
  • 举报
回复
因为dom指针不仅可以指向元素,也可以指向文本节点。这里取不到你想要的节点是因为XML存在一个有争议的地方:空格。换行被认为是一个空格,意味着这是一个文本节点,所以name.lastChild取到的已经是文本节点了。在IE9和其他主流浏览器都存在这种情况,可改用jquery来操作dom,或先判断浏览器类型再执行不同的操作,或者根据节点的nodeType判断其是否文本节点,nodeType值为3表示其为文本节点。
引用 8 楼 zzgzzg00 的回复:
var name=document.getElementById("dv"); var c=name.lastChild.firstChild.firstChild.innerHTML;//ie9以下 //c=name.lastChild.previousSibling.firstChild.nextSibling.firstChild.nextSibling.innerHTML; 非ie或ie9 alert(c);
似梦飞花 2013-06-15
  • 打赏
  • 举报
回复
var name=document.getElementById("dv"); var c=name.lastChild.firstChild.firstChild.innerHTML;//ie9以下 //c=name.lastChild.previousSibling.firstChild.nextSibling.firstChild.nextSibling.innerHTML; 非ie或ie9 alert(c);
scscms太阳光 2013-06-14
  • 打赏
  • 举报
回复
<script language="javascript">
    function Ba(){
        var name=document.getElementById("dv").getElementsByTagName("tr")[1].getElementsByTagName("td")[0];
        var c=name.innerHTML;
        alert(c);
    }
</script>
<table id="dv">
    <tr>
        <td>学期</td>
        <td>姓名</td>
        <td>班级</td>
    </tr>
    <tr>
        <td>123</td>
        <td>456</td>
        <td>789</td>
    </tr>
</table>
<input type="button" value="查看" onclick="Ba()">
  • 打赏
  • 举报
回复
申请web开发版版主,希望大家多多支持
ftiger 2013-06-14
  • 打赏
  • 举报
回复
alert(name.lastChild); 得到的结果是 #text,说明这是一个文本结点。 删除table内部所有的回车后,得到正确的结果123
  • 打赏
  • 举报
回复
引用 2 楼 a188236749 的回复:
就是在IE中啊
在ie6呢
No_what_cant 2013-06-14
  • 打赏
  • 举报
回复
就是在IE中啊
  • 打赏
  • 举报
回复
在ie中试试

87,987

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧