问答详情
源自:9-9 访问子节点的第一和最后项

为什么答案是这样看不懂

javascript


jQuery

PHP

#text
H


提问者:云鬓花颜 2015-01-02 17:00

个回答

  • 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