We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

element.getElementsByTagNameNS Redirect 1

« DOM Reference

Firefox 3.6 note

See the Notes section below for changes to this API in Firefox 3.6.


Returns a list of elements with the given tag name belonging to the given namespace.


elements = element.getElementsByTagNameNS(namespaceURI, localName)
  • elements is a live NodeList (but see the note below) of found elements in the order they appear in the tree.
  • element is the element from where the search should start. Note that only the descendants of this element are included in the search, not the node itself.
  • namespaceURI is the namespace URI of elements to look for (see element.namespaceURI). For example, if you need to look for XHTML elements, use the XHTML namespace URI, http://www.w3.org/1999/xhtml.
  • localName is either the local name of elements to look for or the special value "*", which matches all elements (see element.localName).
Note: While the W3C specification says elements is a NodeList, this method returns a HTMLCollection both in Gecko and Internet Explorer. Opera returns a NodeList, but with a namedItem method implemented, which makes it similar to a HTMLCollection. As of January 2012, only in WebKit browsers is the returned value a pure NodeList. See bug 14869 for details.


// check the alignment on a number of cells in a table in an XHTML document.
var table = document.getElementById("forecast-table");
var cells = table.getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "td");

for (var i = 0; i < cells.length; i++) {
    var axis = cells[i].getAttribute("axis");
    if (axis == "year") {
        // grab the data


element.getElementsByTagNameNS is similar to document.getElementsByTagNameNS, except that its search is restricted to descendants of the specified element.

The behavior of element.getElementsByTagNameNS changed between Firefox 3.5 and Firefox 3.6.

  • In Firefox 3.5 and before, this function would automatically case-fold any queries so that a search for "foo" would match "Foo" or "foo".
  • In Firefox 3.6 and later this function is now case-sensitive so that a query for "foo" will only match "foo" and not "Foo".

For more background on this, please see this comment from Henri Sivonen about the change. You can also look at the relevant part of the standard, which states which parts of the API are case-sensitive and which parts aren't.


Document Tags and Contributors

Last updated by: Sheppy,