[解決済み] 内蔵DOMメソッドやPrototypeを使ってHTML文字列から新しいDOM要素を作成する
2022-03-23 05:09:55
質問
ある要素を表すHTML文字列があります。
'<li>text</li>'
. これを DOM 内の要素に追加したい (
ul
私の場合)。PrototypeやDOMメソッドでこれを行うにはどうしたらよいでしょうか?
(jQueryで簡単にできるのはわかっているのですが、あいにくjQueryは使っていません。)
どのように解決するのですか?
注意事項
現在のほとんどのブラウザは HTML をサポートしています。
<template>
これは、文字列から要素を作成するための、より信頼性の高い方法を提供します。参照
詳細は以下のMark Ameryの回答
.
古いブラウザ、およびnode/jsdomの場合
: (これはまだ
<template>
要素を使用する場合は、次のメソッドを使用します。これは、ライブラリが HTML の文字列から DOM 要素を取得するために行っていることと同じです (
IE用に少し手を加えて
の実装のバグを回避するために
innerHTML
):
function createElementFromHTML(htmlString) {
var div = document.createElement('div');
div.innerHTML = htmlString.trim();
// Change this to div.childNodes to support multiple top-level nodes.
return div.firstChild;
}
HTML テンプレートとは異なり、この
ではありません。
の子要素になりえない要素もあります。
<div>
のような
<td>
s.
すでにライブラリを使っている場合は、ライブラリで認められているHTMLの文字列から要素を作成する方法にこだわることをお勧めします。
-
Prototypeにはこの機能が組み込まれており
update()
メソッド . -
jQueryでは、その
jQuery(html)
とjQuery.parseHTML
メソッドを使用します。
関連
-
[解決済み】「.addEventListener is not a function」なぜこのエラーが発生するのか?
-
フロントエンド非同期(アシンク)ソリューション(全ソリューション)
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] .prop() vs .attr()
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み] JavaScript で DOM ノードのすべての子要素を削除する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vueネットワークリクエストソリューション ネイティブネットワークリクエストとjsネットワークリクエストライブラリ
-
jQueryのコピーオブジェクトの説明
-
Javascript Bootstrapのグリッドシステム、ナビゲーションバー、ローテーションの説明
-
vueにおけるv-forループオブジェクトのプロパティ
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
Vueの「データを聴く」原則を解説
-
[解決済み] テスト
-
[解決済み】ローカルファイルを開くことができません - Chrome: ローカルリソースの読み込みが許可されていない
-
[解決済み】ERROR エラーです。スイッチのname属性が指定されていないフォームコントロールの値アクセッサがない
-
[解決済み] javascriptの文字列をhtmlオブジェクトに変換する [重複]。