When accessing the
.getElementsByTagName("*") properties on the DOM representation of an <object> element, the resulting NodeSet will always be empty.
Proof of Concept:
- <param name="name" value="value"/>
- <param name="name2" value="value2"/>
- <param name="name3" value="value3"/>
- var obj = document.getElementsByTagName("object");
- // => <object/>
- // => 
- // => 
- // => [ <param/>, <param/>, <param/> ]
- // => <param/>
So far, my quick-and-dirty kludge is just to replace “*” with “param” and hope that the user is actually using an object to hold params, and not some other crazy combination.
Which reminds me – has anyone ever seen an example of an <object> element containing non-param elements on a real, live, web page – somewhere in the wild? The HTML spec says that the <object> element can contain any HTML, but that sounds a little bit too crazy for my tastes.