検索
ホームページウェブフロントエンドjsチュートリアルjQueryメソッドのネイティブJavaScript同等物:DOMとフォーム

Native JavaScript Equivalents of jQuery Methods: the DOM and Forms

コアポイント

  • jQueryは、アプリケーションの開発よりも長くjqueryのようなライブラリをサポートする必要がある開発者にとって便利なツールです。ただし、他のほとんどのケースでは、Native JavaScriptを使用することは、jQueryのような大きなライブラリを読み込む必要がないため、より効率的です。
  • domセレクターやDOM操作などの一般的に使用されるjQueryメソッドのネイティブJavaScript同等物は、通常、jQueryの対応物よりも速く効率的に実行されます。たとえば、document.getElementsByClassNameまたはdocument.getElementByIdを使用すると、jqueryの$()ラッパーを使用するよりもはるかに高速になる場合があります。
  • HTML5は、フォーム検証のために追加のJavaScriptまたはjQueryコードを追加せずに、さまざまな一般的な入力タイプを組み込みサポートします。これらの新しいタイプをサポートしていない古いブラウザは、標準のテキスト入力フィールドに復元され、サーバー側の検証が必要です。
私の最近の「あなたは本当にjQueryが必要ですか?記事、議論は続きますが、要するに、jQueryを使用する理由は2つあります。1。IE6/7/8をサポートする必要があります(jquery 2.0に移行できないことを忘れない)、または2。開発以上の費用アプリケーションは、jQueryのようなライブラリを書くのに時間がかかります。

他のすべての状況では実用的であることをお願いします。 jQueryは270kbのユニバーサルライブラリです。特定のモジュールを省略したとしても、それがコードの大きな塊であっても、それが提供するすべての機能を必要とする可能性は低いです。 CDNから30kbの削除バージョンをロードできますが、ブラウザは他のアクションを実行する前に、各ページの処理を停止し、コードを解析する必要があります。これは、一般的に使用されるjQueryメソッドにネイティブのJavaScriptに相当するものを紹介する一連の記事の最初のものです。これらのいくつかを短く、同様のエイリアス機能で包みたいかもしれませんが、確かに独自のjQueryのようなライブラリを作成する必要はありません。

dom selector

jQueryは、CSSセレクターの構文を使用してDOMノードの選択を許可します。

ネイティブ同等物:
// 在 ID 为“first”的文章中查找所有具有类“summary”的段落
var n = $("article#first p.summary");

var n = document.querySelectorAll("article#first p.summary");
は、すべての最新のブラウザーとIE8に実装されています(ただし、これはCSS2.1セレクターのみをサポートしています)。 jQueryは、より高度なセレクターに追加のサポートを提供しますが、ほとんどの場合、

ラッパー内で実行されます。ネイティブJavaScriptは4つの選択肢も提供しています。これは、それらを使用できる場合よりもほぼ確実に高速です。

  1. document.querySelector(selector) - 最初の一致するノードのみを取得します
  2. document.getElementById(idname) - そのID名で単一のノードを取得
  3. document.getElementsByTagName(tagname) - 要素に一致するノードを取得します(H1、P、Strongなど)。
  4. document.getElementsByClassName(class) - 特定のクラス名を持つノードを取得

getElementsByTagNameおよびgetElementsByClassNameメソッドを単一のノードに適用して、結果を子孫のみに制限することもできます。たとえば

// 在 ID 为“first”的文章中查找所有具有类“summary”的段落
var n = $("article#first p.summary");
いくつかのテストをしましょう。私は「あなたは本当にjqueryが必要ですか?」から得るためにいくつかの小さなスクリプトを書きました。 comment記事ですべてのコメントノードを10,000回検索します。結果:

厳格なラボ条件を主張することも、実際の使用法を反映していませんが、この場合、ネイティブのJavaScriptは60倍高速です。また、ID、タグ、またはクラスでノードを取得することは通常querySelectorAllよりも優れていると述べています。

dom operation

jQueryは、次のようなDOMにさらに追加するいくつかの方法を提供します。

表面の下で、jQueryはネイティブ
// 在 ID 为“first”的文章中查找所有具有类“summary”的段落
var n = $("article#first p.summary");
メソッドを使用します。

innerHTMLDom Buildテクノロジーを使用することもできます。これらはより安全ですが、

var n = document.querySelectorAll("article#first p.summary");
よりも速くはめったにありません

innerHTMLjqueryですべての子ノードを削除することもできます:

var n = document.getElementById("first");
var p = n.getElementsByTagName("p");

$("#container").append("<p>more content</p>");
を使用するネイティブ等価物

innerHTMLまたは小さな関数:

document.getElementById("container").innerHTML += "<p>more content</p>";

最後に、jqueryのDOMから要素全体を削除することができます:

var p = document.createElement("p");
p.appendChild(document.createTextNode("more content"));
document.getElementById("container").appendChild(p);

またはネイティブJavaScript:

$("#container").empty();

スケーラブルベクトルグラフィックス(SVG)
document.getElementById("container").innerHTML = null;

現在のドキュメントを処理するためにコアJQueryライブラリが開発されました。 SVGにはdomがありますが、jqueryはこれらのオブジェクトに直接操作を提供しません。通常、

などのメソッドが必要です。動作し、いくつかのプラグインがありますが、独自のコードを作成したり、raphaëlやsvg.jsなどの専用のSVGライブラリを使用する方が効率的です。

createElementNSgetAttributeNShtml5 form

最も基本的なWebアプリケーションでさえ、1つまたは2つのフォームがあります。サーバー側のユーザーデータを常に確認する必要がありますが、理想的には、フォームを送信する前にエラーをキャッチできるように、クライアントの検証で補足します。クライアントの検証は簡単です:1。フォームが送信されたときに関数を実行します。 2.問題が発生した場合は、送信を停止し、エラーを表示します。

jqueryを使用できます。ネイティブJavaScriptを使用できます。どちらを選ぶべきですか?

どちらも

を選択しません。 HTML5は、通常の表現に基づいて、電子メール、電話、URL、数字、時刻、日付、色、カスタムフィールドなど、一般的に使用されるさまざまな入力タイプをサポートしています。たとえば、ユーザーに電子メールアドレスを入力するように強制する場合は、以下を使用してください。

より複雑な機能(2つ以上のフィールドを比較したり、カスタムエラーメッセージの表示など)が必要な場合を除き、追加のJavaScriptまたはJQueryコードは必要ありません。古いブラウザ(IE9以下を含む)は新しいタイプを理解しておらず、標準のテキスト入力フィールドに復元されます。これらのユーザーは、サーバー側の検証に戻りますが、これは素晴らしい体験ではありませんが、シムを適用したり、これらの人々が光を見たりアップグレードしたりすることを願っています。私の次の投稿では、ネイティブCSSクラスの操作とアニメーションを見ていきます。 JQueryとネイティブJavaScript

var c = document.getElementById("container");
while (c.lastChild) c.removeChild(c.lastChild);
についての

faqs

(この部分の内容が画像と記事の主題に弱く関連しており、記事が長くなっているため、FAQパーツはここで省略されています。

以上がjQueryメソッドのネイティブJavaScript同等物:DOMとフォームの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptの文字列文字を交換しますJavaScriptの文字列文字を交換しますMar 11, 2025 am 12:07 AM

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

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか?独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか?Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか?ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか?Mar 18, 2025 pm 03:14 PM

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

jQueryマトリックス効果jQueryマトリックス効果Mar 10, 2025 am 12:52 AM

マトリックスの映画効果をあなたのページにもたらしましょう!これは、有名な映画「The Matrix」に基づいたクールなJQueryプラグインです。プラグインは、映画の古典的な緑色のキャラクター効果をシミュレートし、画像を選択するだけで、プラグインはそれを数値文字で満たされたマトリックススタイルの画像に変換します。来て、それを試してみてください、それはとても面白いです! それがどのように機能するか プラグインは画像をキャンバスにロードし、ピクセルと色の値を読み取ります。 data = ctx.getimagedata(x、y、settings.greasize、settings.greasize).data プラグインは、写真の長方形の領域を巧みに読み取り、jQueryを使用して各領域の平均色を計算します。次に、使用します

ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか?ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか?Mar 18, 2025 pm 03:16 PM

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

シンプルなjQueryスライダーを構築する方法シンプルなjQueryスライダーを構築する方法Mar 11, 2025 am 12:19 AM

この記事では、jQueryライブラリを使用してシンプルな画像カルーセルを作成するように導きます。 jQuery上に構築されたBXSLiderライブラリを使用し、カルーセルをセットアップするために多くの構成オプションを提供します。 今日、絵のカルーセルはウェブサイトで必須の機能になっています - 1つの写真は千の言葉よりも優れています! 画像カルーセルを使用することを決定した後、次の質問はそれを作成する方法です。まず、高品質の高解像度の写真を収集する必要があります。 次に、HTMLとJavaScriptコードを使用して画像カルーセルを作成する必要があります。ウェブ上には、さまざまな方法でカルーセルを作成するのに役立つ多くのライブラリがあります。オープンソースBXSLiderライブラリを使用します。 BXSLiderライブラリはレスポンシブデザインをサポートしているため、このライブラリで構築されたカルーセルは任意のものに適合させることができます

JavaScriptによる構造マークアップの強化JavaScriptによる構造マークアップの強化Mar 10, 2025 am 12:18 AM

キーポイントJavaScriptを使用した構造的なタグ付けの強化は、ファイルサイズを削減しながら、Webページコンテンツのアクセシビリティと保守性を大幅に向上させることができます。 JavaScriptを効果的に使用して、Cite属性を使用して参照リンクを自動的にブロック参照に挿入するなど、HTML要素に機能を動的に追加できます。 JavaScriptを構造化されたタグと統合することで、ページの更新を必要としないタブパネルなどの動的なユーザーインターフェイスを作成できます。 JavaScriptの強化がWebページの基本的な機能を妨げないようにすることが重要です。 高度なJavaScriptテクノロジーを使用できます(

Angularを使用してCSVファイルをアップロードおよびダウンロードする方法Angularを使用してCSVファイルをアップロードおよびダウンロードする方法Mar 10, 2025 am 01:01 AM

データセットは、APIモデルとさまざまなビジネスプロセスの構築に非常に不可欠です。これが、CSVのインポートとエクスポートが頻繁に必要な機能である理由です。このチュートリアルでは、Angular内でCSVファイルをダウンロードおよびインポートする方法を学びます

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。