Re: isElement - determining if an object is an element
- From: kangax <kangax@xxxxxxxxx>
- Date: Wed, 30 Jul 2008 21:33:07 -0700 (PDT)
On Jul 30, 11:52 am, "Aaron Gray" <ang.use...@xxxxxxxxx> wrote:
[snip]
So here's a more effiecient version
if (!isIE)
var isElement = function( o)
{
return o instanceof Element
}
else
var isElement = function( o)
{
return o && o.nodeType === 1 && o.tagName !== undefined
}
As per usual any critisms are welcome :)
The double function expression is unnecessary.
It could be rewritten like so:
var isElement = (function(){
var el = document.createElement('div'), fn;
if (el instanceof Element) {
fn = function(o) {
return o instanceof Element;
}
}
else {
fn = function(o) {
return o && typeof 'nodeType' in o && o.nodeType === 1;
}
}
el = null;
return fn;
})();
We don't perform such branching in prototype.js to avoid
inconsistencies across browsers.
isElement(document.createElement('div')); // true in IE and FF
isElement({ nodeType: 1 }); // true in IE, but false in FF
--
kangax
.
- Follow-Ups:
- Re: isElement - determining if an object is an element
- From: Aaron Gray
- Re: isElement - determining if an object is an element
- From: Gregor Kofler
- Re: isElement - determining if an object is an element
- From: RobG
- Re: isElement - determining if an object is an element
- From: kangax
- Re: isElement - determining if an object is an element
- References:
- isElement - determining if an object is an element
- From: Aaron Gray
- Re: isElement - determining if an object is an element
- From: Henry
- Re: isElement - determining if an object is an element
- From: Aaron Gray
- Re: isElement - determining if an object is an element
- From: Aaron Gray
- isElement - determining if an object is an element
- Prev by Date: Re: isElement - determining if an object is an element
- Next by Date: Re: isElement - determining if an object is an element
- Previous by thread: Re: isElement - determining if an object is an element
- Next by thread: Re: isElement - determining if an object is an element
- Index(es):
Relevant Pages
|