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 がトランザクション分離レベルを巧みに実装する方法

推薦する

画像ボタンをフォームのリセットボタンとして使用する方法

フォームを作成するときに、送信ボタンとリセットボタンを配置することがよくあります。ページの外観を考慮...

JavaScript 定期検証パスワード強度実装方法

展示する デザインパスワード強度分析パスワードは数字、文字、特殊記号で構成されていますパスワード: ...

CSS3の新しい背景プロパティの詳細な説明

これまで、CSS の背景の属性には、color、image、repeat、attachment、po...

Dockerを使用してMQTTサーバーを構築するプロセスの詳細な説明

1. イメージをプルするdocker pull registry.cn-hangzhou.aliyu...

Dockerfile に基づいて Tomcat イメージを構築する方法

Dockerfile は Docker イメージを構築するために使用されるファイルです。コマンドパラ...

HTTP サーバーとクライアントのやり取りをシミュレートする Node.js+postman

目次1. NodeがHTTPサーバーを構築する2. HTTPサーバーがリクエストを取得する1. Po...

MySql データベース クエリの特殊コマンド

まずMySQLのインストールMySQLソフトウェアをダウンロードし、インストールパスを変更しますMy...

MySQL 学習ノート: データ エンジン

現在のデータベースでサポートされているエンジンを表示します エンジンを表示 +-----------...

Linux カーネル デバイス ドライバー Linux カーネル 基本メモの概要

1. Linuxカーネルドライバモジュールの仕組み静的ロードでは、ドライバモジュールをカーネルにコン...

HTML シンプルな Web フォーム作成例の紹介

<input> はユーザー情報を収集するために使用され、終了ステートメントはありません。...

Vue.jsフレームワークはショッピングカート機能を実装します

この記事では、ショッピングカートを実装するためのVue.jsフレームワークの具体的なコードを参考まで...

Alibaba Cloud SSHリモート接続がしばらくすると切断される問題を解決

問題の再現Alibaba Cloud Server は、Finalshell リモート接続を使用して...

トピックページデザインの 5 つの基本スキル (Alibaba UED Shanmu)

このトピックは、2012 年後半の社内共有です。まだ記事にはなっていませんが、春節が近づいているので...

画像プレビュー付きのアップロードフォームの完全な HTML

画像プレビュー機能付きのアップロードフォーム、完全なHTMLコードは次のとおりです。 <htm...

VueはTeleportをベースにModalコンポーネントを実装します

目次1. テレポートについて知る2. テレポートの基本的な使い方3. 最初のステップの最適化4. 第...