Equivalent native function code example of jQuery function_jquery
We did some tests on the performance of commonly used jQuery methods and their equivalent native methods (1, 2, 3).
I know what you are thinking. The native method is obviously faster than the jQuery method, because the jQuery method has to deal with browser compatibility and other things. Yes, I totally agree. I'm not writing this article against using jQuery, but if you're targeting modern browsers, there will be a huge performance improvement using native methods.
Many developers don't realize that most of the jQuery methods they use can be replaced by native methods, or more lightweight methods. Below are some code examples showing some commonly used jQuery methods and their native equivalents.
Translator's Note: Please note that some of the native methods below are referenced by HTML5 and may not be used by some browsers.
Selector
One of the cores of jQuery is that it can easily obtain DOM elements. We just need to enter the CSS selection string and get the matching elements. But in most cases, we can achieve the same effect with simple native code.
//----Get all divs of the page- --------
/* jQuery */
$("div")
/* native*/
document.getElementsByTagName("div")
//- ---Get all elements of the specified class---------
/* jQuery */
$(".my-class")
/* native*/
document .querySelectorAll(".my-class")
/* Faster native method*/
document.getElementsByClassName("my-class")
//----Get elements through CSS selection- ---------
/* jQuery */
$(".my-class li:first-child")
/* native*/
document.querySelectorAll(" .my-class li:first-child")
//----Get the first element of the specified clsss----
/* jQuery */
$(".my-class ").get(0)
/* native*/
document.querySelector(".my-class")
Translator's note: Actually there are some problems here, There is a difference between document.querySelectorAll and jQuery selector. The former returns a NodeList, while the latter returns an array-like object.
DOM Operations
jQuery is also frequently used for DOM operations, such as inserting or deleting elements. We can also use native methods to perform these operations. You will find that this requires writing additional code. Of course, you can also write your own helper functions to make it easier to use. Below are some examples of inserting elements into the page.
//----Insert element----
/* jQuery */
$(document.body).append("

/* Poor native approach*/
document.body.innerHTML = "

var frag = document.createDocumentFragment();
var myDiv = document.createElement("div");
myDiv.id = " myDiv";
var im = document.createElement("img");
im.src = "im.gif";
myDiv.appendChild(im);
frag.appendChild(myDiv) ;
document.body.appendChild(frag);
//----Preceding element----
// Except for the last line
document.body.insertBefore(frag, document. body.firstChild);
CSS classes
In jQuery, we can easily add, delete, and check the CSS class of a DOM element. Fortunately, it's also easy to do using native methods.
// Get the reference of the DOM element
var el = document.querySelector(".main-content");
//----Add class------
/* jQuery */
$(el).addClass("someClass ");
/* Native method */
el.classList.add("someClass");
//----Delete class-----
/* jQuery */
$(el).removeClass("someClass");
/* Native method*/
el.classList.remove("someClass");
//----Is it the class---
/* jQuery */
if($(el).hasClass("someClass"))
/* Native method*/
if(el.classList.contains(" someClass"))
Modify CSS properties
Always modify and retrieve CSS properties through Javascript, which is simpler and faster than using jQuery CSS functions, and there are no inconsistencies Necessary code.
// Get DOM element reference
var el = document.querySelector(".main-content");
//----Set CSS properties----
/ * jQuery */
$(el).css({
background: "#FF0000",
"box-shadow": "1px 1px 5px 5px red",
width: "100px" ,
height: "100px",
display: "block"
});
/* native*/
el.style.background = "#FF0000";
el .style.width = "100px";
el.style.height = "100px";
el.style.display = "block";
el.style.boxShadow = "1px 1px 5px 5px red ";

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Different JavaScript engines have different effects when parsing and executing JavaScript code, because the implementation principles and optimization strategies of each engine differ. 1. Lexical analysis: convert source code into lexical unit. 2. Grammar analysis: Generate an abstract syntax tree. 3. Optimization and compilation: Generate machine code through the JIT compiler. 4. Execute: Run the machine code. V8 engine optimizes through instant compilation and hidden class, SpiderMonkey uses a type inference system, resulting in different performance performance on the same code.

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

JavaScript is the core language of modern web development and is widely used for its diversity and flexibility. 1) Front-end development: build dynamic web pages and single-page applications through DOM operations and modern frameworks (such as React, Vue.js, Angular). 2) Server-side development: Node.js uses a non-blocking I/O model to handle high concurrency and real-time applications. 3) Mobile and desktop application development: cross-platform development is realized through ReactNative and Electron to improve development efficiency.

This article demonstrates frontend integration with a backend secured by Permit, building a functional EdTech SaaS application using Next.js. The frontend fetches user permissions to control UI visibility and ensures API requests adhere to role-base

I built a functional multi-tenant SaaS application (an EdTech app) with your everyday tech tool and you can do the same. First, what’s a multi-tenant SaaS application? Multi-tenant SaaS applications let you serve multiple customers from a sing

The shift from C/C to JavaScript requires adapting to dynamic typing, garbage collection and asynchronous programming. 1) C/C is a statically typed language that requires manual memory management, while JavaScript is dynamically typed and garbage collection is automatically processed. 2) C/C needs to be compiled into machine code, while JavaScript is an interpreted language. 3) JavaScript introduces concepts such as closures, prototype chains and Promise, which enhances flexibility and asynchronous programming capabilities.

The main uses of JavaScript in web development include client interaction, form verification and asynchronous communication. 1) Dynamic content update and user interaction through DOM operations; 2) Client verification is carried out before the user submits data to improve the user experience; 3) Refreshless communication with the server is achieved through AJAX technology.

JavaScript's application in the real world includes front-end and back-end development. 1) Display front-end applications by building a TODO list application, involving DOM operations and event processing. 2) Build RESTfulAPI through Node.js and Express to demonstrate back-end applications.
