如何在html中使用js获取下一个节点?

Jac*_*Sun 1 html javascript

我有一个这样的 html

<table>
    <tr>
        <td>
            <img src="logo.png" onclick="getNextTableNode(this)">
        </td>
    </tr>
</table>
<table></table>
Run Code Online (Sandbox Code Playgroud)

我可以用js代码得到第一个tableNode

  function getNextTableNode(imgNode)
 { 
    tableNode1 = imgNode.parentNode.parentNode.parentNode;
 }
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能得到下一个 tableNode?我不想使用 id 或 name。我试过了:

tableNode2 = tableNode1.nextSibling;
Run Code Online (Sandbox Code Playgroud)

但它没有用。有人可以帮忙吗?提前致谢

gil*_*ly3 5

浏览器会<tbody>向 dom添加一个节点,无论 html 中是否包含一个节点。你需要一个额外的.parentNode来获取表格元素。

获得表格元素后,请使用nextElementSibling

tableNode2 = tableNode1.nextElementSibling;
Run Code Online (Sandbox Code Playgroud)

使用nextSibling的旧版本浏览器的回退:

tableNode2 = tableNode1.nextElementSibling || tableNode1.nextSibling;
Run Code Online (Sandbox Code Playgroud)