使用JavaScript在DOM中查找下一个同级元素

时间:2015-01-06 19:39:36

标签: javascript dom

如何找到当前范围中的下一个元素?例如,我想找到div元素,之后是p的下一个元素?

如果我使用document.getElementsByTagName('DIV')[0].nextSibling,则返回#text。我希望它返回p标记。

<div>
    <table>
        <tr>
            <td></td>
        </tr>
    </table>
</div>
<p></p>

2 个答案:

答案 0 :(得分:10)

您可以使用nextElementSibling。如果您需要支持旧浏览器,请遍历nextSibling,直至找到Element节点。

答案 1 :(得分:3)

你想要.nextElementSibling

document.getElementsByTagName('DIV')[0].nextElementSibling

您获得#text的原因是因为nextSibling将返回父元素的childNodes列表中的下一个节点。在这种情况下,由于</div><p>之间使用的换行符,它是空格(因此是#text)。