2017-06-19 4 views
-2

Was ist der Typ der Variable "Element" in diesem Snippet? Ich dachte, es ist eine Nummer (eine ID oder etwas), aber jetzt habe ich keine Ahnung. Der Code funktioniert, aber ich verstehe nicht, warum das var-Element in einem Zyklus wie ein Array verwendet werden kann. Gibt es dazu eine Erklärung?Was ist der Rückgabetyp von 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 () 'gibt ein' HTMLElement' oder 'null' zurück –

+0

@MikaelLennholm:' Element', nicht 'HTMLElement': https://www.w3.org/TR/dom/#nonelementparentnode –

Antwort

1

Die getElementById() Methode gibt das Element, das die ID Attribut mit dem angegebenen Wert hat. [....] Gibt null zurück, wenn keine Elemente mit der angegebenen ID vorhanden sind.

So gibt es ein Objekt Htmlelement

source

0

Der Rückgabetyp document.getElementById() ist Elementobjekt oder null. Bitte beachten Sie den folgenden Link aus MDN:

1

Was der Rückgabetyp von document.getElementById ist()

Element. Sie gibt einen Verweis auf das tatsächliche Objekt für das Element im DOM zurück (oder null, falls mit diesem id keine gefunden wurde). Details:

Ich dachte, es ist eine Zahl (eine ID oder etwas)

Nein, das ist "video" (die Zeichenfolge, nach der Sie gesucht haben). Sie können auch auf die Eigenschaft id des Element-Objekts zugreifen.

Der Code funktioniert, aber ich verstehe nicht, warum kann das var Element für den Zyklus, wie ein Array in einem verwendet werden.

for-in ist in erster Linie nicht den Einsatz auf Arrays für die es auf Objekte für den Einsatz ist. Der einzige Grund, warum es bei Arrays funktioniert, ist, dass Arrays Objekte sind. (Weitere Informationen hierzu finden Sie unter this question's answers und this page on MDN.) DOM-Elemente sind Objekte, sodass Sie ihre aufzählbaren Eigenschaften über for-in durchlaufen können.

+0

Danke, lies alles. :-) –

Verwandte Themen