javascript - Why are link and script tags not typed as elements? -


i thought every element returned document.getelementbyid or document.createelement in fact version of dom element, , version found using typeof. however, discovered not case when tried script , link tags.

jsfiddle demo

html

<link id="l"> <script id="s"> 

js

var l = document.getelementbyid("l"); console.log(typeof l);//"object" var s = document.getelementbyid("s"); console.log(typeof s);//"object" var li = document.createelement("link"); console.log(typeof li);//"object" var sc = document.createelement("script"); console.log(typeof sc);//"object" 

why these elements typed objects?

they elements, , same result other types of elements.

try :

var li = document.createelement("link"); console.log(li instanceof htmlelement); 

it logs true link instance of htmllinkelement specialization of htmlelement.

but typeof returns "object" objects ("any other object").

you can type of object using getprototypeof :

console.log(object.getprototypeof(li)); 

Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

javascript - addthis share facebook and google+ url -

ios - Show keyboard with UITextField in the input accessory view -