getElementsByTagNameNS provides a namespace parameter for namespace eg xmlns=http //www.w3.org/1999/xhtml
both APIs support wildcard tagName
the browser APIs exhibit some inconsistent behavior regarding camelcase elements. For example getElementsByTagName('lineargradient') or getElementsByTagName('LinearGradient') does not find a <linearGradient>. Whereas a getElementsByTagName('sPaN') will return all <span>s. MDN's documentation says:
When called on an HTML element in an HTML document, getElementsByTagName lower-cases the argument before searching for it. This is undesirable when trying to match camel-cased SVG elements (such as <linearGradient>) in an HTML document. Instead, use Element.getElementsByTagNameNS(), which preserves the capitalization of the tag name.
but that's not the case (at least in all browsers) because document.getElementsByTagName('linearGradient') does return the element.
getElementsByTagNameNS is indeed case sensitive, however.
getElementsByTagNameNS
provides a namespace parameter for namespace egxmlns=http //www.w3.org/1999/xhtml
the browser APIs exhibit some inconsistent behavior regarding camelcase elements. For example
getElementsByTagName('lineargradient')
orgetElementsByTagName('LinearGradient')
does not find a<linearGradient>
. Whereas agetElementsByTagName('sPaN')
will return all<span>
s. MDN's documentation says:but that's not the case (at least in all browsers) because
document.getElementsByTagName('linearGradient')
does return the element.getElementsByTagNameNS
is indeed case sensitive, however.