spacer

Webref WebRef   Sitemap · Experts · Tools · Services · Newsletters · About i.com


Technical Lead
Thomson Reuters (Markets) LLC
US-NY-New York

Justtechjobs.com Post A Job | Post A Resume
Developer News
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?


Logo

JavaScript Programming: dltypeof() v1.0,
An Introduction


DOM Objects

dltypeof() will identify the two most often used types of DOM objects: elements and collections.

DOM Elements

DOM elements ( HTML tags ) have a type of "domelement".

DOM text nodes have a type of "textnode".

IE for Windows also supports the TextRange object. It can be neither created nor referred to in any other browser, but it has a type of "textrange" in IE-only applications.

DOM Collections

dltypeof() will return "domcollection" for all collections whether they are represented by properties like anchors or by methods that return collections like getElementsByTagName().

dltypeof() also handles browser-specific collections. Some, like all, can be referenced in cross-browser applications, often for browser-identification. These collections have a type of "undefined" if they are not supported.
Other browser-specific collections, like text rectangle, cannot be referenced in cross-browser applications, as they are created by unsupported methods.

In general, dltypeof() will handle return values correctly for the environment it resides in, whether it is a cross-browser script or a browser-specific script.

The window and window.frames Problem

The window object and the window.frames collection are identified as the same object in both Netscape and IE. That is, not as objects of similar types but the same object, with the same property values and methods and they are interchangeable in use. This, of course, makes no sense (at least not to me), and it could be a holdover from the original JavaScript implementation.

It is therefore not possible to differentiate between the two and identify window as a special object type ( "window" ) and window.frames as a collection of type "domcollection".

This problem does not exist in Opera, where window and window.frames are separate objects of different types.

However, dltypeof() cannot return different values for the same object in different browsers if the object is supported in all browsers. So, both window and window.frames have a type of "window" in all browsers.


The following table lists all the possible return values for DOM objects as well as the original typeof() return values

DOM objecttypeof() return value dltypeof() return value
internet explorer calendar netscape calendar
 
HTML element
( DIV, IMG, P, TABLE, etc. )
objectdomelement
text nodeobjecttextnode
text rangeobjecttextrangen/a
 
Standard collections
( anchors, applets, areas, attributes, cells, childNodes, elements, embeds, forms, images, links, options, rows, tbodies, etc. )
objectdomcollection
IE collections - supported by Opera
( all, children, scripts, tags, etc. )
objectdomcollectionundefined
IE collections - IE only
( behavioururns, filters, document.frames, namespaces, etc. )
objectdomcollectionundefined
IE collections - IE only - IE-specific applications
( control range, imports, pages, rules, text rectangle, etc. )
objectdomcollectionn/a
Non-IE collections
( mimeTypes, plugins )
objectobjectmimetypecollection
plugincollection
IE and NS collections
( styleSheets )
objectdomcollectionundefineddomcollection
 
framesobjectwindow
windowobjectwindow


The dltypeof() function is listed on the final page.



Send a comment or suggestion to Peter Belesis

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs

webref The latest from WebReference.com Browse >
Rolling Out Your Own HTML Application Version Control · HTML 5: Client-side Storage · Working with Ajax Server Extensions
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Wi-Fi Product Watch, November 2009 · Chip Market Recovering From '08 Collapse · Low-Cost Tools to Kickstart Your New Business

Created: August 23, 2004
Revised: August 23, 2004

URL: http://webreference.com/dhtml/column68/3.html