JavaScript / DOM操作

JavaScript / DOM操作

要素の削除

子要素を削除する

子要素は

hogeparent.removeChild(hogechild);

で削除する。これはオブジェクトをあくまで親要素から引き剥がすだけであって、GC によってオブジェクトを破壊するわけではない

要素の挿入

直前に挿入

親ノード.insertBefore(前に挿入したいヤツ, 挿入されるやつ);

交換

実際には交換ではなくて交換される側がremoveChildされる。つまり画面に貼り付けられた2要素を交換すると片方が消えてしまう。

親ノード.replaceChild(入れたいやつ, 交換されるやつ);

DOM を画面に複数箇所描画させる

var hoge = document.createElement("img");
document.body.appendChild(hoge);
document.body.appendChild(hoge);

2つの DOM が表示される直感だが、1個しか出ない。DOMは画面上に1個しか存在できない。

先に存在するほうが優先されて、後の変更は無視される。 これは DOM を JavaScript のオブジェクトでラッピングして操作する際にバグになりやすい。

画面表示のために DOM をハンドリングするときは常に引き剥がす処理を先行して行わなければ、 後続の貼り付ける処理で何も起きなくなる。

要素の作成

単に a タグを作りたいなら

var elmA = document.createElement("a");
elmA.textContent = "hoge";
elmA.href = "http://example.com";

この要素は後は、getElementById で取得したモノと同様に扱うことができる。

Tag

javascript/ope/dom_ope/start.txt · 最終更新: 2020-10-22 18:17 by ore