Beware of Javascript’s quirky typeof
:
typeof document.getElementsByTagName('p')
This will return 'function'
, which I did not expect. What is returned is a NodeList
, which behaves like an array, identifies itself as a function, but really is neither.
If you want to detect a NodeList
you’re better off with feature detection:
var isNodelist = (typeof myvar.length != 'undefined' &&
typeof myvar.item != 'undefined')
Do note that this makes it probable you’re dealing with a NodeList
– but you can’t be sure.