Free content for your website, newsletters or ezines. Free articles for reprint | Lbry.com
corner Set as Homepage   |   Add to Favourites corner
 
Search for
Need more search features? Go to Advanced Search
 
 
Article Categories
Advertising
Direct Mail, PPC, Word of Mouth
Advice
Affiliate Programs
MLM
Arts
Auto & Trucks
Auto Leasing, Diesel vs. Gasoline Vehicles
Awards
Beauty, Personal Care & Grooming
Business & Finance
Finance, Management, Marketing, Sales
Careers
Communications
Computers & Internet
CD Duplication, Computers FAQs
Copywriting
EBooks
ECommerce
Education
Email
Entertainment
Environment
Family
Child Care
Food & Drink
Cooking & Recipes
Free
Furniture
Office Chairs
Gadgets & Gizmos
Games
Gardening
Gifts
Government
Health
Hair Loss, Headaches, Healthy Eating, Natural Cures
History
Hobbies
Boat Acquisition
Home Business
Home Improvement
Humour
Internet
Blogs, CGI, CSS, DHTML, HTML, Javascript, RSS
Kids and Teens
Law
Marriage
Men's Issues
Metaphysical
Motivational
Music & Movies
Newsletters
Online Business
Organization & Time Management
Parenting
Personal Security & Wellness
Credit Repair, Life Insurance
Pets & Animals
Cats, Dogs
Politics & Government
Press Releases
Psychology
Publishing
Real Estate
Home Mortgage
Recreation & Sports
Fitness, Mountain Biking, Tennis
Reference
Relationships
Religion & Faith
Scams
Science
Weather
Search Engines
Link Popularity, SE Optimization, SE Positioning, SE Tactics, Sitemaps
Self Help
Sexuality
Shopping
Signs & Astrology
Society
Work Life
Technology
Bluetooth, Podcasting
Travel & Adventure
Beach Vacations, Ski Vacations
True Life Stories
Websites
Domain Names, Site Promotion, Web Development, Web Hosting
Weight Loss
Women's Issues
Writing
 
 »  Home  »  Internet  »  Javascript  »  How to test for the Javascript DOM? by Riaan Pieterse
How to test for the Javascript DOM? by Riaan Pieterse
By Riaan Pieterse | Published  11/28/2005 | Javascript | Unrated
How to test for the Javascript DOM? by Riaan Pieterse
Riaan Pieterse
Riaan Pieterse is the CEO and founder of Kerberos Internet Services CC, South Africa. Having spent a number of years conducting various consulting assignments in the Far East, Middle East, Africa and Europe to businesses and governments alike, Riaan has a solid understanding of the business and technology issues in today's market. For more information visit www.kerberosdev.net or www.kerberosb2b.com  

View all articles by Riaan Pieterse

an interesting yet recurring question: "How do I test for the Document
Object Model (DOM) employed by a browser?". Strangely enough I was
asking the same question when starting out in Javascript. However, after
enough
time has passed, with the same thing done more than once, I started to
realise that this is a question that begs answering for once and for
all.



A Typical Test


Testing for the DOM in itself is easy enough. A recommended approach is
testing for the support of a DOM, and not for a browser
version. The following describes Boolean variables that indicates the compliance
to
the DOM methods and parameters that you are targeting:


isIE4 = document.all? true : false;

isIE6 = document.getElementById && document.all ? true : false;

isNS4 = document.layers? true : false;

isNS6 = document.getElementById && !document.all ? true : false;

The above items return a set of true or false values for any browser. This
method still requires that you access objects described by the DOM through
that DOM's methods. In the long run the amount of work you have to do
remains more or less the same.



Javasript is an Object Orientated language


Everyone who is familiar with Javascript knows that the language supports
Object Orientation (OO). Passing objects around in variables is nothing
new, so why do people persist in performing lengthy tests for the DOM
each time we need to access an object?



The item which describes the document's
referencing structure is nothing more that an object itself. This means
that you
only need
to perform the test once, and then proceed to use an arbitrary object
that describes
the DOM object throughout the remainder of your script. However, since
this approach would require that you define a variable for each and every
object you will be referencing, we need an approach which is more
robust.



A Compromise


Typically you access objects though the DOM for one of two reasons: Get
a value, or Set a value. Previous approaches require that you access
the object through the DOM methods each and every time you need to perform
some action on the object. The same holds true for every other object
accessed by your script. What we need is a method that will:





Access the correct DOM using the relevant methods

Return the object of interest

Not waste time and patience



A practical approach used by myself is described in a function that returns
your object without any hassles.


function getDOMObject (documentID){

if (isIE4){

return document.all[documentID];

}else if(isIE6){

return document.getElementById(documentID);

}else if (isNS4){

return document.layers[documentID];

}else if (isNS6){

return document.getElementById(documentID);

}

}

The above function comprimises by using the typical test defined earlier
to identify our browser DOM, and returns the object identified by its
ID / NAME pair. So whenever you need to do something to an object, this
approach requires that you call the getDOMObeject () function. For example,
the following will set the value attribute of a hypothetical text box
to 'test value'.


getDOMObject('txtMyTextBoxID').value = "Test Value";

The value of this approach comes to the front in scripts where you need
to access multiple objects in your document. For example:


getDOMObject('txtMyTextBoxID1').value = "Test Value 1";

getDOMObject('txtMyTextBoxID2').value = "Test Value 2";

getDOMObject('txtMyTextBoxID3').value = "Test Value 3";

getDOMObject('txtMyTextBoxID4').value = "Test Value 4";

getDOMObject('txtMyTextBoxID5').value = "Test Value 5";

getDOMObject('txtMyTextBoxID6').value = "Test Value 6";

Looks like a lot less work, doesn't it?


Note: Republishing this article is permitted in the following conditions:
 
author by-lines are kept intact and unchanged. Hyperlinks and/or URLs provided by authors must remain active.
 
 
a link to the Lbry.com site is required in the use of articles either as print or an active url on the articles web page as below:
[ Article from Lbry.com ]
How would you rate the quality of this article?
1 2 3 4 5
Poor Excellent
Tell us why you rated this way (optional):

Send to Author Post on Site

 
Comments


Article Options
Most popular articles

»

Dementia: Will I Get It?

By N/A | Published 12/31/1969 | Health | Rating:
In the article Dementia: Just What Is It, we have learned about a frightening term, Dementia, and just what it is or, rather, how it manifests itself in the human condition. I gave 5 examples from my personal knowledge, including myself.
 
  Read the full article   Print this article  
Report An Error    

»

Triumphing Over Tantrums

By N/A | Published 12/31/1969 | Family | Rating:
Patty Hone
 
  Read the full article   Print this article  
Report An Error    

»

Celebrex Law Suits Looking Like a Strong Case

By N/A | Published 12/31/1969 | Law | Rating:
There is no data as yet that indicates how many former patients of Pfizer's anti-inflammatory and painkilling drug are filing Celebrex law suits, but given the magnitude of the company's perceived crime it is likely that there will be very many. And even a quick perusal of the alleged behaviour of the company regarding this drug seems to point to Celebrex law suits being something of a fait accompli.
 
  Read the full article   Print this article  
Report An Error    

»

Checked Into Nirvana. Where Is Joy?

By N/A | Published 12/31/1969 | Metaphysical | Rating:
Eckhart Tolle lived upto his twenty ninth year in a state of almost continual anxiety interspersed with periods of suicidal depression. Then he woke up one night with a feeling of absolute dread. The silence of the night, the vague outlines of the furniture in the dark room, the distant noise of a passing train - everything felt so alien, so hostile, and so utterly meaningless that it created in him a deep loathing of the world. "I cannot live with myself any longer." This was the thought that kept repeating itself in his mind. Suddenly he became aware that if he could not live with himself, there had to be two - he and the "self" he could not live with. He was stunned by the realization. He became enveloped by powerful feelings.
 
  Read the full article   Print this article  
Report An Error    
No popular articles found.
 
Become an Author
 
Are you a writer and you want your work published?
 
 
Do you have a website and need free publicity?
 
 
Sign up for free as a Lbry.com author and have your articles published in no time!
Click here to become an author
 
Advertising
 
 
 
 
Lbry.com Sponsors