gorogoronyan FC2

JavaScript: HTML 要素 (タグ) の処理

概略

HTML 要素や内容を取り出す

サンプル

HTML 要素にテキストを出力する (2023/10)

Node, Element, HTMLElement (2024/01)

querySelector() で取り出した値は HTMLElement のオブジェクトです。 タグの種類によっては HTMLElement のサブクラス (子供のクラス) になっているものもあります。例えば span タグは HTMLSpanElement のオブジェクトです。

(親) HTMLElement      b タグなど
  + (子) HTMLHeadingElement    h1 タグ, h2 タグなど
  + (子) HTMLSpanElement       span タグ
  + (子) HTMLParagraphElement  p タグ
  + (子) HTMLUListElement      ul タグ
  + (子) HTMLLIElement         li タグ
  ...
  他にも img や table や dl などに対応するたくさんのクラスがあります。
  通常、具体的なクラス名を気にする必要はありません。
クラスの親子関係

HTMLElementNodeElement のサブクラス です。MDN のドキュメントではクラス (class) ではなくインターフェイス (interface) という用語を使用しています。

◎ クラス (インターフェイス) の親子関係

(先祖) EventTarget               MDN: EventTarget
   + (親) Node                   MDN: Node
      + (子) Element             MDN: Element
      |  + (孫) HTMLElement      MDN: HTMLElement
      + (子) Document            MDN: Document

子や孫のオブジェクトは親や先祖のプロパティやメソッドを使うことができます。 HTMLElement のオブジェクトは Element や Node や EventTarget にあるプロパティにアクセスしたりメソッドを使ったりすることができます。 例えば tagName プロパティや querySelector() メソッドは Element にあり、 parentNode プロパティや appendChild() メソッドは Node にあり、 addEventListener() は EventTarget にあります。

親や祖先にたくさんのプロパティやメソッドがありますが、 実際によく使用するものはわずかです。

参考で Document のオブジェクトは Element と兄弟の関係にあります。 Document の親も Node や EventTarget でこれらのプロパティやメソッドを使うことができます。

サンプル

HTML 要素を削除・移動する (2023/12)

HTML 要素を削除する: Node.removeChild()

HTML 要素を移動する

TestJS_ul_li_drag01.html
li 要素をドラッグ操作で並べ替える。
draggable 属性のサンプル。
li 要素を並べ替える
draggable 属性でドラッグ操作する
TestJS_sort_table_tr01.html
table をソートする。指定の列 (td) の値を見て行をソートする。
データを並べ替える (ソート)
HTML tableタグ: JavaScript (1)

HTML 要素を作る (2023/12)

HTML テキストではなくて、table や ul などの HTML 要素 (HTMLElement) のオブジェクトを作成して ドキュメントツリーを作る話です。

TestJS_create_color01.html
色コードのテキストを読んで span タグの色見本を作るサンプル。
テキストを行や2重配列に分割する
CSS 色の指定(3) - JavaScript

XML の処理

XML も HTML 要素の操作とほぼ同じ感覚で処理できます。

SVG も XML なので XML の処理を使用します。

TestJS_svg_polyline_map01.html
SVG polyline のサンプル。座標データのテキストを読んで地図を描く。
svg タグ: JavaScript (1)

関連

inserted by FC2 system