[Edge]。→、、
element 内の指定タグ名の要素の生きたリストを HTMLCollection で返します。
この要素のすべての子孫が検索されますが、要素そのものは検索されません。返されるリストは生きており、DOM ツリーとともに自動的に更新されます。したがって、同じ要素と引数で Element.getElementsByTagName() を繰り返し呼び出す必要はなく、呼び出しの間に DOM が変化しても大丈夫です。
HTML 文書内の HTML 要素に対して呼び出された場合、getElementsByTagName は引数を小文字に変換してから検索を行います。よってこれは、HTML 文書内のキャメルケースの SVG 要素(例えば <linearGradient>)と照合しようとする場合には望ましくありません。代わりに、Element.getElementsByTagNameNS() を使ってください。この場合はタグ名の大文字と小文字は区別されます。
Element.getElementsByTagName は Document.getElementsByTagName() に似ていますが、指定した要素の子孫の要素のみを検索する点が異なります。
element | Element。 |
---|---|
tagName | タグ名。特別な文字列 "* " はすべての要素を表します。XHTML との互換性のため、小文字を使用してください。
|
生きた HTMLCollection オブジェクト。タグ名が一致する要素が出現順で入ります。要素が見つからなかった場合は 空オブジェクトになります。
// テーブル内のセルの数だけ反復処理します const table = document.getElementById('forecast-table'); const cells = table.getElementsByTagName('td'); for (let cell of cells) { let status = cell.getAttribute('data-status'); if (status === 'open') { // データを取得 } }
HTML:
<DIV id=IdTest>DIV要素。親 <DIV>DIV要素。子1</DIV> テキスト <SPAN>SPAN要素。子2</SPAN> テキスト <DIV>DIV要素。子3</DIV> 終わり </DIV>
JavaScript:
D=IdTest.getElementsByTagName('div'); //=[object]:[object HTMLCollection] //0=[object]:[object HTMLDivElement] //1=[object]:[object HTMLDivElement] //length=[number]:2 //item=[function]:function item() { [native code] } //namedItem=[function]:function namedItem() { [native code] } DA=D[0].innerText; //=[string]:DIV要素。子1 DA=D[1].innerText; //=[string]:DIV要素。子3