Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.nextSibling和ChildNode.nextElementSibling之间有什么区别?_Javascript_Dom_Nodes - Fatal编程技术网

Javascript node.nextSibling和ChildNode.nextElementSibling之间有什么区别?

Javascript node.nextSibling和ChildNode.nextElementSibling之间有什么区别?,javascript,dom,nodes,Javascript,Dom,Nodes,这里是div-01 这是div-02 他们不是一回事吗 两者都返回紧跟其后的节点。我读了很多文章,但对我来说似乎是一样的,但不知道在哪里使用一个或另一个?nextElementSibling总是返回一个元素nextSibling可以返回任何类型的节点。它们与您的示例相同,但在其他情况下不同,例如: <p><span id="span-01">Here is span-01</span> Some text at the top level <span i

这里是div-01
这是div-02

他们不是一回事吗


两者都返回紧跟其后的节点。我读了很多文章,但对我来说似乎是一样的,但不知道在哪里使用一个或另一个?

nextElementSibling
总是返回一个元素
nextSibling
可以返回任何类型的节点。它们与您的示例相同,但在其他情况下不同,例如:

<p><span id="span-01">Here is span-01</span>
Some text at the top level
<span id="span-02">Here is span-02</span></p>
这里是span-01
顶层的一些文本
这是span-02


在本例中,
document.getElementById('span-01').nextElementSibling
span-02
,但
document.getElementById('span-01').nextSibling
是包含“顶层某些文本”的文本节点(或者,正如@Manngo在评论中指出的,将文本与上面的元素分隔开的空白——似乎有些浏览器将元素和非空白节点之间的空白放在单独的节点中,而另一些浏览器将其与文本的其余部分相结合)。