jQuery の同等のネイティブ関数コード例 function_jquery
一般的に使用される jQuery メソッドとそれに相当するネイティブ メソッド (1、2、3) のパフォーマンスについていくつかのテストを行いました。
あなたの考えていることはわかります。 jQuery メソッドはブラウザの互換性などに対処する必要があるため、ネイティブ メソッドは明らかに jQuery メソッドより高速です。はい、全く同感です。この記事は jQuery の使用に反対して書いているわけではありませんが、最新のブラウザをターゲットにしている場合は、ネイティブ メソッドを使用するとパフォーマンスが大幅に向上します。
多くの開発者は、使用する jQuery メソッドのほとんどがネイティブ メソッドやより軽量なメソッドに置き換えられることを認識していません。以下は、一般的に使用される jQuery メソッドとそれらのネイティブ同等メソッドを示すコード例です。
翻訳者注: 以下のネイティブ メソッドの一部は HTML5 によって参照されており、一部のブラウザでは使用できない場合があることに注意してください。
Selector
jQuery の中核の 1 つは、DOM 要素を簡単に取得できることです。 CSS 選択文字列を入力して、一致する要素を取得するだけです。しかし、ほとんどの場合、単純なネイティブ コードで同じ効果を実現できます。
//----すべての div を取得ページの - --------
/* jQuery */
$("div")
/* ネイティブ*/
document.getElementsByTagName("div")
//- ---指定されたクラスのすべての要素を取得します--------
/* jQuery */
$(".my-class")
/* ネイティブ* /
document .querySelectorAll(".my-class")
/* 高速なネイティブ メソッド*/
document.getElementsByClassName("my-class")
//----要素を取得しますCSS の選択 - ---------
/* jQuery */
$(".my-class li:first-child")
/* ネイティブ*/
ドキュメント。 querySelectorAll(" .my-class li:first-child")
//----指定された clsss の最初の要素を取得します----
/* jQuery */
$(". my-class ").get(0)
/*native*/
document.querySelector(".my-class")
翻訳者注: 実はここにはいくつか問題があります, document.querySelectorAll と jQuery セレクターには違いがあります。前者は NodeList を返しますが、後者は配列のようなオブジェクトを返します。
DOM 操作
jQuery は、要素の挿入や削除などの DOM 操作にも頻繁に使用されます。ネイティブ メソッドを使用してこれらの操作を実行することもできますが、これには追加のコードを記述する必要があります。もちろん、使いやすくするために独自のヘルパー関数を作成することもできます。以下に、ページに要素を挿入する例をいくつか示します。
//---要素の挿入- ---
/* jQuery */
$(document.body).append("

/* ネイティブアプローチが不十分*/
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);
//----先行要素----
// 最後の行を除く
document.body.insertBefore(frag, document . body.firstChild);
CSS クラス
jQuery では、DOM 要素の CSS クラスを簡単に追加、削除、確認できます。幸いなことに、ネイティブ メソッドを使用して簡単に実行することもできます。
// DOM 要素の参照を取得します
var el = document.querySelector(".main-content");
//---クラスを追加-----
/* jQuery */
$(el) .addClass("someClass ");
/* ネイティブ メソッド */
el.classList.add("someClass");
//---クラスを削除-----
/* jQuery */
$(el).removeClass("someClass");
/* ネイティブ メソッド*/
el.classList.remove("someClass"); --クラスですか---
/* jQuery */
if($(el).hasClass("someClass"))
/* ネイティブ メソッド*/
if(el. classList.contains(" someClass"))
CSS プロパティの変更 常に Javascript を通じて CSS プロパティを変更および取得します。これは、jQuery CSS 関数を使用するよりも簡単で高速です。必要なコードに矛盾はありません。
// 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 ";

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

このチュートリアルでは、カスタムGoogle検索APIをブログまたはWebサイトに統合する方法を示し、標準のWordPressテーマ検索関数よりも洗練された検索エクスペリエンスを提供します。 驚くほど簡単です!検索をyに制限することができます

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

この記事シリーズは、2017年半ばに最新の情報と新鮮な例で書き直されました。 このJSONの例では、JSON形式を使用してファイルに単純な値を保存する方法について説明します。 キー価値ペア表記を使用して、あらゆる種類を保存できます

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

コアポイント これは通常、メソッドを「所有」するオブジェクトを指しますが、関数がどのように呼び出されるかに依存します。 現在のオブジェクトがない場合、これはグローバルオブジェクトを指します。 Webブラウザでは、ウィンドウで表されます。 関数を呼び出すと、これはグローバルオブジェクトを維持しますが、オブジェクトコンストラクターまたはそのメソッドを呼び出すとき、これはオブジェクトのインスタンスを指します。 call()、apply()、bind()などのメソッドを使用して、このコンテキストを変更できます。これらのメソッドは、与えられたこの値とパラメーターを使用して関数を呼び出します。 JavaScriptは優れたプログラミング言語です。数年前、この文はそうでした

jQueryは素晴らしいJavaScriptフレームワークです。ただし、他のライブラリと同様に、何が起こっているのかを発見するためにフードの下に入る必要がある場合があります。おそらく、バグをトレースしているか、jQueryが特定のUIをどのように達成するかに興味があるからです

この投稿は、Android、BlackBerry、およびiPhoneアプリ開発用の有用なチートシート、リファレンスガイド、クイックレシピ、コードスニペットをコンパイルします。 開発者がいないべきではありません! タッチジェスチャーリファレンスガイド(PDF) Desigの貴重なリソース
