我尝试获取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>
答案 0 :(得分:7)
你应该替换
var arr = oParent.getElementById('div');
与
var arr = document.getElementById('div');
这是因为getElementById
是document
的方法,而不是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>