为什么答案是这样看不懂

来源:9-9 访问子节点的第一和最后项

云鬓花颜

2015-01-02 17:00

javascript


jQuery

PHP

#text
H


写回答 关注

2回答

  • xiaoguoliang
    2015-08-15 23:02:20

    本来应该是输出两个#text的,因为x.firstChild和x.lastChild在一般的浏览器中看来都是个空白字符(因为回车换行也被认为是一个文本内容),当然如果写成以下紧凑方式:

    http://img.mukewang.com/55cf5204000153e505300022.jpg

    那么它显示的才会是你想要的答案。

    至于为什么最后一个是H呢,因为你的html标签写错了,本来是h5,你写成了H,所以就出现了H这个怪答案了;

    你的写法,如果标签写的对话,在IE8及IE8以下的浏览器中你将会看到以下答案:

    javascript

    jQuery

    PHP

    P
    H5 

    而不再是

    javascript

    jQuery

    PHP

    #text
    #text

    这可是有兼容性的了,因为在低版本的IE中会把这样的空白字符给忽略的;

  • 康振宁
    2015-01-04 10:39:10

    x.firstChild.nodeName获取x元素的第一个子节点的名称,第一个子节点是空节点,所以名称为#text

    x.lastChild.nodeName获取x元素的最后一个子节点的名称,最后一个子节点是h5,所以名称为H

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468191 学习 · 21891 问题

查看课程

相似问题