JSはjQueryのappend関数を実装します

JSはjQueryのappend関数を実装します

コードを見せてください

HTMLElement.prototype.appendHTML = function(html) {
	divTemp = document.createElement("div"); とします。
	ノードを null にします。
	フラグメントを document.createDocumentFragment() に格納します。
	divTemp.innerHTML = html;
	ノード = divTemp.childNodes;
	ノード.forEach(アイテム => {
		フラグメントに子要素を追加します(item.cloneNode(true))。
	})
	// 最後に追加
	this.appendChild(フラグメント);
	// 先頭に挿入
	// this.insertBefore(フラグメント、this.firstChild);
	ノード = null;
	フラグメント = null;
};

効果をテストする

html

<スタイル>
。子供 {
  高さ: 50px;
  幅: 50px;
  背景: #66CCFF;
  下マージン: 1em;
}
</スタイル>

<div id="アプリ">
  <div class="child">
  <div class="child">
</div>

js

app = document.getElementById('app'); とします。
child を `<div class="child">down</div>` とします。
app.appendHTML(子);

効果

追伸

さらに、上に挿入したい場合は、コード内の this.appendChild(fragment); を this.insertBefore(fragment, this.firstChild); に変更するだけです。

別のアプローチ

var div2 = document.querySelector("#div2");
  div2.insertAdjacentHTML("beforebegin","<p>hello world</p>");//呼び出し要素の前に要素を追加しますdiv2.insertAdjacentHTML("afterbegin","<p>hello world</p>");//呼び出し要素内に子要素を追加し、最初の子要素を置き換えますdiv2.insertAdjacentHTML("beforeend","<p>hello world</p>");//呼び出し要素の後に子要素を追加し、最後の子要素を置き換えますdiv2.insertAdjacentHTML("afterend","<p>hello world</p>");//呼び出し要素の後に要素を追加します

ブラウザレンダリングの効果:

この方法はIEの最も古い方法なので互換性が特に良いです

以上がjQueryのappend関数を実装したJSの詳細です。jQueryのappend関数を実装したJSの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • jQuery に新しいコンテンツを追加する一般的な 4 つの方法 [append、prepend、after、before] の分析
  • jQueryでappendを使って追加された要素イベントが無効になる問題を解決する
  • jQuery の append メソッドと appendTo メソッドの比較
  • jQuery 追加要素の append、prepend、before、after の使用法と差異分析
  • IE7 で jQuery セレクタが追加エラーを引き起こす問題の解決策
  • jQuery の動的に追加された要素イベントが機能しない解決策
  • jQueryは、HTML要素の後に複数のコンテンツを同時に追加するためにappendを使用します。
  • JQueryがページに新しい要素を追加した後のイベントのバインディングの問題を解決する
  • jQuery appendTo() メソッドの使用例
  • jQuery append() メソッドの使用例

<<:  Ubuntu の起動後にアプリケーションを実行するためのターミナルの設定方法

>>:  InnoDB がトランザクション分離レベルを巧みに実装する方法

推薦する

Tomcatの自動シャットダウンに関するバグ修正

序文最近、4 年間実行されている Java EE Web プロジェクトでは、システムが開けないという...

Ubuntu 20.04は静的IPアドレスを設定します(異なるバージョンを含む)

Ubuntu 20.04はnetplanを通じてネットワークを管理するため、以前のバージョンとは少...

Linux には make コマンドがありません (make: *** ターゲットが指定されておらず、makefile または make コマンドのインストール方法が見つかりません)

知らせ! ! !この状況は、実際には仮想マシンのインストール中に回避できます。次回仮想マシンをテスト...

JavaScript 状態コンテナ Redux の詳細な説明

目次1. Reduxを選ぶ理由2. Reduxデータフロー3つの原則4. Reduxソースコード分析...

Linux デュアル ネットワーク カード バインディング スクリプト メソッドの例

Linux の操作と構成作業では、デュアル ネットワーク カードのバインディングがよく使用されます。...

Vueはページdivボックスのドラッグアンドドロップソート機能を実装します

vue は、ページ上の div ボックスのドラッグ アンド ドロップ ソート機能を実装します。 序文...

JavaScript カスタム カレンダー効果

この記事では、JavaScriptカスタムカレンダーエフェクトの具体的なコードを参考までに紹介します...

js配列のfind、some、filter、reduceの違いの詳細な説明

Array の filter、find、some、reduce メソッドの違いを区別し、使用シナリオ...

Dockerで複数のSpringbootを実行するための詳細なチュートリアル

Dockerは複数のSpringbootを実行する1番目: ポートマッピング 2番目: メモリサイズ...

MySQLクエリ書き換えプラグインの使用

クエリ書き換えプラグインMySQL 5.7.6 以降、MySQL Server は、サーバーが実行す...

MySQL はパスワード強度の検証をオフにします

パスワード強度検証について: [root@mysql mysql]# mysql -uroot -p...

スケルトンスクリーン効果を実現する CSS

ネットワーク データを読み込むときは、ユーザー エクスペリエンスを向上させるために、通常は円形の読み...

TypeScript の基本型の紹介

目次1. 基本タイプ2. オブジェクトタイプ2.1 配列2.2 タプル2.3 オブジェクト3. 型推...

ウェブサイトのデザインを改善するための役立つ提案を提供します

<br />ウェブサイトを科学的にデザインする: アイトラッキング研究から学ぶ 23 の...