为什么我的onclick处理程序找不到它的父节点?

时间:2009-02-19 22:13:28

标签: javascript html

为什么下面的onclick处理程序会触发“elem.parentNode不是函数”错误?

<html>
  <head>
   <script type="text/javascript">
     function getParent(elem) {
       var parent = elem.parentNode();
     }
   </script>
  </head>

  <body>
    <div style="border: solid black 2px">
      <span onclick="getParent(this)">hello</span>
    </div>
  </body>
</html>

7 个答案:

答案 0 :(得分:6)

你的问题是parentNode不是一个函数。请尝试删除()

答案 1 :(得分:3)

parentNode是一个属性,而不是一个函数。

var parent = element.parentNode;

答案 2 :(得分:2)

因为parentNode不是函数?在没有括号的情况下尝试elem.parentNode

答案 3 :(得分:2)

应该是

 function getParent(elem) {
   var parent = elem.parentNode;
}

答案 4 :(得分:1)

不是一个功能。这是一个属性。丢掉括号。

var parent = elem.parentNode;

答案 5 :(得分:1)

parentNode是属性而不是函数。删除()它应该可以工作。

答案 6 :(得分:1)

parentNode不是一个函数,它是一个属性。