JS implements jQuery's append function

JS implements jQuery's append function

Show Me The Code

HTMLElement.prototype.appendHTML = function(html) {
	let divTemp = document.createElement("div");
	let nodes = null;
	let fragment = document.createDocumentFragment();
	divTemp.innerHTML = html;
	nodes = divTemp.childNodes;
	nodes.forEach(item => {
		fragment.appendChild(item.cloneNode(true));
	})
	// Insert to the end append
	this.appendChild(fragment);
	// Insert prepend at the front
	// this.insertBefore(fragment, this.firstChild);
	nodes = null;
	fragment = null;
};

Test the effect

html

<style>
.child {
  height: 50px;
  width: 50px;
  background: #66CCFF;
  margin-bottom: 1em;
}
</style>

<div id="app">
  <div class="child">
  <div class="child">
</div>

js

let app = document.getElementById('app');
let child = `<div class="child">down</div>`;
app.appendHTML(child);

Effect

PS

In addition, if you want to insert above, just change this.appendChild(fragment); in the code to this.insertBefore(fragment, this.firstChild);

Another approach

var div2 = document.querySelector("#div2");
  div2.insertAdjacentHTML("beforebegin","<p>hello world</p>");//Add an element before the calling elementdiv2.insertAdjacentHTML("afterbegin","<p>hello world</p>");//Add a child element inside the calling element and replace the first child elementdiv2.insertAdjacentHTML("beforeend","<p>hello world</p>");//Add a child element after the calling element and replace the last child elementdiv2.insertAdjacentHTML("afterend","<p>hello world</p>");//Add an element after the calling element

The effect of browser rendering:

This method is the earliest method of IE, so the compatibility is particularly good

The above is the details of JS implementing jQuery's append function. For more information about JS implementing jQuery append, please pay attention to other related articles on 123WORDPRESS.COM!

You may also be interested in:
  • Analysis of four common methods of adding new content to jQuery [append, prepend, after, before]
  • Solve the problem that the element event added by jQuery using append is invalid
  • Comparison of jQuery append and appendTo methods
  • jQuery append elements append, prepend, before, after usage and difference analysis
  • Solution to the problem of jQuery selector causing append failure in IE7
  • jquery append dynamically added element event on does not work solution
  • jQuery uses append to add multiple contents at the same time after the html element
  • Solve the problem of binding events after Jquery appends new elements to the page
  • jQuery appendTo() method usage example
  • jQuery append() method usage examples

<<:  How to set up the terminal to run applications after Ubuntu starts

>>:  How InnoDB cleverly implements transaction isolation levels

Recommend

Vue3 (III) Website Homepage Layout Development

Table of contents 1. Introduction 2. Actual Cases...

Summary of ten Linux command aliases that can improve efficiency

Preface Engineers working in the Linux environmen...

IE6/7 is going to be a mess: empty text node height issue

Preface: Use debugbar to view document code in iet...

Mysql keeps the existing content and adds content later

This command modifies the data table ff_vod and a...

Common browser compatibility issues (summary)

Browser compatibility is nothing more than style ...

How to install redis in Docke

1. Search for redis image docker search redis 2. ...

Linux nohup to run programs in the background and view them (nohup and &)

1. Background execution Generally, programs on Li...

Nginx merges request connections and speeds up website access examples

Preface As one of the best web servers in the wor...

jQuery implements article collapse and expansion functions

This article example shares the specific code of ...

Page Speed ​​Optimization at a Glance

I believe that the Internet has become an increas...

How to install and persist the postgresql database in docker

Skip the Docker installation steps 1. Pull the po...

MySQL 5.7.23 installation and configuration graphic tutorial

This article records the detailed installation pr...