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

Tom*_*ker 3 javascript

此代码段中变量“元素”的类型是什么?我以为它是一个数字(ID 或其他东西),但现在,我不知道了。代码有效,但我不明白为什么可以在 for 循环中使用 var 元素,就像数组一样。对此有什么解释吗?

   <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>
Run Code Online (Sandbox Code Playgroud)

osa*_*ger 5

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

所以它返回一个 HTMLElement 对象

来源


T.J*_*der 5

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

Element. 它返回对 DOM 中元素的实际对象的引用(或者null如果没有找到那个id)。细节:

我以为它是一个数字(身份证或其他东西)

不,那是"video"(您用来查找的字符串)。它也可以从idElement 对象的属性访问。

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

for-in主要不是用于数组,而是用于对象。它适用于数组的唯一原因是数组是对象。(有关此问题的更多信息,请参阅此问题的答案MDN上的此页面。)DOM 元素是对象,因此您可以通过for-in.