firstChild何时以及如何选择#text节点?

时间:2015-12-13 19:22:24

标签: javascript html dom nodes

这里对JS有点新意,所以如果这很明显,我会道歉。我已经阅读了相关的documentation,我对firstChild如何以及何时选择文本节点感到有些困惑。

我有一个跨度和输入如下:

     <span class="checkbox">
      <input class="inputs" value="1">
     </span>

在页面加载时,如果我打电话:

    $(".checkbox").firstChild

我会找回输入的html元素。现在,如果我进行ajax调用,用相同的代码替换整个span及其输入,然后调用:

    $(".checkbox").firstChild

我得到一个#text节点元素。为什么?可能有一个更相关的问题是#text节点何时插入空格?

如果您需要更多背景信息,请与我们联系。感谢您抽出宝贵时间帮助初学者。

1 个答案:

答案 0 :(得分:0)

节点之间的空格会创建文本节点,因此,根据父级的结束>和孩子的开放<之间是否有任何空格/换行/标签,您可以或者可能无法获得文本节点。

请改用firstElementChild。兄弟遍历存在类似的等价物。

其他选项是调整CSS选择器以获取第一个子节点或使用jquery的遍历方法。