这里对JS有点新意,所以如果这很明显,我会道歉。我已经阅读了相关的documentation,我对firstChild如何以及何时选择文本节点感到有些困惑。
我有一个跨度和输入如下:
<span class="checkbox">
<input class="inputs" value="1">
</span>
在页面加载时,如果我打电话:
$(".checkbox").firstChild
我会找回输入的html元素。现在,如果我进行ajax调用,用相同的代码替换整个span及其输入,然后调用:
$(".checkbox").firstChild
我得到一个#text节点元素。为什么?可能有一个更相关的问题是#text节点何时插入空格?
如果您需要更多背景信息,请与我们联系。感谢您抽出宝贵时间帮助初学者。
答案 0 :(得分:0)
节点之间的空格会创建文本节点,因此,根据父级的结束>
和孩子的开放<
之间是否有任何空格/换行/标签,您可以或者可能无法获得文本节点。
请改用firstElementChild。兄弟遍历存在类似的等价物。
其他选项是调整CSS选择器以获取第一个子节点或使用jquery的遍历方法。