.getElementsByTagNameNS()

指定された名前空間に属する、指定されたタグ名の要素リストを返します。

文法

elements = element.getElementsByTagNameNS(namespaceURI, localName)

elementは検索を開始する要素です。 検索対象となるのはこの要素の子孫であり、この要素自身は含まれないことに注意してください。

引数 説明
namespaceURI 検索対象の要素の名前空間URI(element.namespaceURIを参照)を指定します。 例えば、XHTML要素を探す必要がある場合は、 http://www.w3.org/1999/xhtmlのXHTML名前空間URIを使用します。
localName 検索対象の要素のローカル名、または全ての要素にマッチする特別な値"*"を指定します。 (element.localNameを参照)
戻り値
elements elementsは、検索された要素をツリー内で現れた順に並べた、 実稼働中のNodeList(ただし、後述する注意事項を参照すること)になります。

注意: W3C仕様がelementsはNodeListであるとする一方、 このメソッドはGeckoとInternet Explorerの両方でHTMLCollectionを返します。 OperaはNodeListを返しますが、 HTMLCollectionのようにするnamedItemメソッドが実装されています。 2012年の1月時点では、WebKitブラウザだけが戻り値が純粋なNodeListになります。 詳細は、bug 14869を参照してください。

// テーブル内のセルの数だけ、状態の確認と処理を行います
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") {
        // 条件に合致したセルに対して何らかの処理
    }
}

注意事項

element.getElementsByTagNameNSは、その検索が指定した要素の子孫に制限されるということを除き、 document.getElementsByTagNameNSと似ています。

element.getElementsByTagNameNSの挙動は、Firefox 3.5と3.6の間に変更されています。

  • Firefox 3.5とそれ以前では、この関数は自動的に大文字変換(case-fold)を行うため、 "foo"の検索は"Foo"または"foo"のにマッチします。
  • Firefox 3.6とそれ以降では、この関数は大文字小文字を区別するため、 "foo"の検索は"foo"にのみマッチし、"Foo"は対象外になります。

この変更に関する背景について、より詳しく知りたければ、 Henri Sivonen氏のコメントを参照してください。 また、 APIで大文字小文字が区別される部分されない部分について、 知ることも可能です。(翻訳に自信なし)

仕様

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。