Javascript 为什么我在函数中得到了错误的父节点?

Javascript 为什么我在函数中得到了错误的父节点?,javascript,Javascript,我想得到按钮的父节点,它应该是td元素,但我得到的是body元素。是什么原因造成的?我只想使用JavaScript,不想使用jQuery 这是我的代码: <html> <head> <meta charset="utf-8"> </head> <body> <tr> <td><input type='text'></td>

我想得到按钮的父节点,它应该是
td
元素,但我得到的是
body
元素。是什么原因造成的?我只想使用JavaScript,不想使用jQuery

这是我的代码:

<html>
<head>
   <meta charset="utf-8">
</head>
    <body>
        <tr>
            <td><input type='text'></td>
            <td><button class='clk' onclick="g(this)">click me!</button></td>
        </tr>
        <script src="jquery/jquery.min.js"></script>
        <script>
            function g(c) {
                alert(c.parentNode.nodeName);
            }
        </script>
    </body>
</html>

点击我!
职能g(c){
警报(c.parentNode.nodeName);
}

问题是您的html无效,无法将
放入
中。浏览器然后拒绝它,遇到没有有效父项的
,然后遇到没有有效父项的
,最后出现在

当您提供无效的html标记时,会得到意外的结果

将您的
包装在
中,也可以在
中、

请注意,一些标记,特别是表标记对于允许的父项和子项非常具体