如何正确获取元素的id?

时间:2014-05-06 09:49:51

标签: javascript

我尝试获取id为“div”的元素,但是我在firefox中得到一个TypeofError,这是什么原因?

<script type="text/javascript">
window.onload = function (){
    var oParent = document.getElementsByTagName('div')[0];
    console.log(oParent);
    var arr = oParent.getElementById('div');
    console.log(arr);
    }
</script>
<div class="test">
<div></div>
<div></div>
<div id="div"></div>
<div></div>

3 个答案:

答案 0 :(得分:7)

你应该替换

var arr = oParent.getElementById('div');

var arr = document.getElementById('div');

这是因为getElementByIddocument的方法,而不是div的方法。

答案 1 :(得分:1)

它不起作用,因为你使用方法&#34; getElementById&#34;来自oParent对象。但是这个方法可以从文档对象中获得。

var arr = document.getElementById('div');

答案 2 :(得分:0)

您正在按名称查找父级,并返回一个数组而不是单个值。 因此,您的代码应使用:

<script type="text/javascript">
    window.onload = function (){
      var oParent = document.getElementsByTagName('div');// this return array
      console.log(oParent);
      // loop through array and find your desired div
      for (var j=0; j<oParent.length; j++) 
      {
        if(oParent[j].id == 'div')
        {
          console.log(oParent);// here is your div
        }
      } 
    }
</script>


但是当您在div寻找id=div时,您应该使用getElementById找到元素。

见下面的代码

<script type="text/javascript">
    window.onload = function (){
      var oParent = document.getElementById('div');// this return div with id='div'
      console.log(oParent);

    }
</script>