ParentNode未定义,但存在调试器

时间:2018-03-18 10:18:37

标签: javascript dom

大家好。

    removeBtn()
    {
      let btn = document.getElementsByTagName("button");
      let par = btn.parentNode;
      alert(par);
    }

页面上只有一个按钮。当我调试这个函数(Mozilla firefox调试器)时,我看到btn实际上是元素,调试器告诉我parentNode不是空的,但par变量是未定义的。

Screen from debug session

我不明白这种行为。我在Edge尝试了这个代码,但结果相同。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

getElementsByTagName返回一个数组。你应该选择那个元素。

 removeBtn()
 {
      let btn = document.getElementsByTagName("button")[0]; // index
      let par = btn.parentNode;
      alert(par);
 }

这将解决问题。