问答详情
源自:9-8 访问子节点childNodes

关于childNodes获得的数组问题

<ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul>,对这里面的ul进行childNodes,为何得到的数组长度可能为7


提问者:慕斯卡5772095 2017-10-11 09:08

个回答

  • 六月的飞羽
    2017-10-13 02:33:01

    分情况

    如果是像下面这种写法:

    <ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul>

    childNodes的长度只能是3,因为不存在空白,就没有文本节点。

    但如果是这种写法:

    <ul> 文本节点1
      元素节点1<li>javascript</li> 文本节点2
      元素节点2<li>jQuery</li> 文本节点3
      元素节点3<li>PHP</li> 文本节点4
    </ul>

    IE会无视空白的文本节点,所以在IE里,这样写得到的长度也依然是3;

    但在其他的浏览器里,空白的文本节点是不会被忽略的,所以子节点的长度为元素节点3 + 空白的文本节点4 = 7。