Наши волонтёры ещё не перевели данную статью на Русский. Присоединяйтесь к нам и помогите закончить эту работу!
The Element.getElementsByTagNameNS()
method returns a live HTMLCollection
of elements with the given tag name belonging to the given namespace. It is similar to Document.getElementsByTagNameNS
, except that its search is restricted to descendants of the specified element.
Syntax
elements = element.getElementsByTagNameNS(namespaceURI, localName)
elements
is a liveHTMLCollection
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 (seeNode.namespaceURI
). For example, if you need to look for XHTML elements, use the XHTML namespace URI,https://www.w3.org/1999/xhtml
.localName
is either the local name of elements to look for or the special value"*"
, which matches all elements (seeNode.localName
).
Example
// 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("https://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 } }
Specifications
Specification | Status | Comment |
---|---|---|
DOM The definition of 'Element.getElementsByTagNameNS()' in that specification. |
Living Standard | Changed the return value from NodeList to HTMLCollection . |
Document Object Model (DOM) Level 3 Core Specification The definition of 'Element.getElementsByTagNameNS()' in that specification. |
Recommendation | No change from Document Object Model (DOM) Level 2 Core Specification. |
Document Object Model (DOM) Level 2 Core Specification The definition of 'Element.getElementsByTagNameNS()' in that specification. |
Recommendation | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 1.0[1] | (Yes)[2] | 5.5 | (Yes)[1] | (Yes)[1] |
getElementsByTagName("*") | 1.0 | (Yes) | 6.0 | (Yes) | (Yes) |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes)[2] | (Yes) | (Yes) | (Yes) |
[1] Initially, this method was returning a NodeList
; it was then changed to reflects the spec change.
[2] 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 the 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.
Prior to Firefox 19, this method was returning a NodeList
; it was then changed to reflects the spec change.