如何找到当前范围中的下一个元素?例如,我想找到div
元素,之后是p
的下一个元素?
如果我使用document.getElementsByTagName('DIV')[0].nextSibling
,则返回#text
。我希望它返回p
标记。
<div>
<table>
<tr>
<td></td>
</tr>
</table>
</div>
<p></p>
答案 0 :(得分:10)
您可以使用nextElementSibling
。如果您需要支持旧浏览器,请遍历nextSibling
,直至找到Element节点。
答案 1 :(得分:3)
document.getElementsByTagName('DIV')[0].nextElementSibling
您获得#text
的原因是因为nextSibling
将返回父元素的childNodes
列表中的下一个节点。在这种情况下,由于</div>
和<p>
之间使用的换行符,它是空格(因此是#text)。