2017-06-19 148 views
-2

这个片段中变量“element”的类型是什么? 我认为这是一个数字(一个ID或什么),但现在,我不知道。 代码有效,但我不明白,为什么var元素可以用于for循环,就像数组一样。有没有关于这个的解释?什么是document.getElementById()的返回类型

<script type="text/javascript"> 
      function showAtrributes() { 
       var element = document.getElementById("videos"); 
       var listAttributes = ""; 
       for(var attribute in element) { 
        var valueOfAtrrib = element.getAttribute(attribute); 
        listAttributes = listAttributes + attribute + ": " + valueOfAttrib + "\n"; 
       } 
       alert(listAttributes); 
      } 
     </script> 
+2

https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById – j08691

+1

'document.getElementById( )'返回一个'HTMLElement'或'null' –

+0

@MikaelLennholm:'元素',而不是'HTMLElement':https://www.w3.org/TR/dom/#nonelementparentnode –

回答

1

的的getElementById()方法返回与指定值的ID 属性的元素。 [....] 如果没有指定ID的元素存在,则返回null。

所以它返回一个HTMLElement对象

source

0

的document.getElementById的返回类型()是元素对象或。请从MDN请参考以下链接:

1

什么的document.getElementById的返回类型()

Element。它返回DOM中元素的实际对象的引用(或者如果id没有找到,则返回null)。详细信息:

我认为这是一个数字(ID或东西)

不,那是"video"(你用来查看它的字符串)。它也可以从Element对象的id属性访问。

该代码有效,但我不明白,为什么var元素可以在for循环中使用,就像数组一样。

for-in主要不是用于阵列上使用,它是在对象使用。它在数组上工作的唯一原因是数组是对象。 (有关更多信息,请参阅this question's answersthis page on MDN。)DOM元素是对象,因此您可以通过for-in循环访问其可枚举属性。

+0

谢谢,一定会读它。 :-) –