ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery速度テスト:$(this).attr( 'id'); vs this.id

jQuery速度テスト:$(this).attr( 'id'); vs this.id

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌オリジナル
2025-02-23 09:19:10213ブラウズ

jQuery Speed Test: $(this).attr(

jQuery速度テスト:$(this).attr( 'id'); vs this.id

スピードテスト$(this)vs .get()vs .eq()から先導する $(this).attr(“ id”)の速度を比較するために簡単なテストを行うことにしました。 vs this.id id、src、href、styleなどのネイティブ属性で使用できますが、bgcolor、データなどのプロパティではありません…

背景

コンテキスト内でこれは変更されますが、一般的に: $(これ)は、すべてのjQueryAPIにアクセスできるjQueryオブジェクトです これは、DOM要素への参照です まだ作成されていないDOM要素に$(this)を使用します。

速度

Jqueryラッパーなしでは、全体がわずかに高速です。 $(this).attr(“ id”):42ms this.id:1ms 結果を表示:https://jsfiddle.net/jquery4u/f9rp7/ さらに読む:
  • jQuery's this demystified

jQuery速度テストに関するよくある質問(FAQ)

なぜjqueryの$(this).attr( 'id')はこれよりも遅いパフォーマンスを発揮しますか?より多くの処理を伴います。 $(this).attr(「id」)メソッドは、最初にdom要素からjqueryオブジェクトを作成し、次にattr()メソッドを使用してid属性を取得します。一方、this.idは、DOM要素のIDプロパティに直接アクセスします。これは、処理が少ないためより高速です。 this.id in jquery?

​​

両方の$(this).attr( 'id')とthis.idは、jqueryの要素のIDを取得するために使用されます。ただし、$(this).attr(「id」)は、一致したセットの最初の要素のみの属性値を取得するjQueryメソッドです。未定義の属性の値に対して未定義に戻ります。一方、this.idは、要素のIDを直接取得する純粋なJavaScriptプロパティです。 IDが定義されていない場合は空の文字列を返します。 ID属性はありません。 this.idは、DOM要素のIDプロパティに直接アクセスすることを忘れないでください。 IDが定義されていない場合、未定義ではなく空の文字列が返されます。コードを確認して、要素にID属性があることを確認してください。

jQueryコードのパフォーマンスを改善するにはどうすればよいですか? $(this).attr( 'id')など、より多くの処理を含むjQueryメソッドの使用。代わりに、このような純粋なJavaScriptプロパティを使用できます。IDは、DOM要素プロパティに直接アクセスできます。また、jQueryオブジェクトをキャッシュし、イベント委任を使用し、可能な場合はメソッドをチェーンしてみてください。

id?

はい、他のプロパティでこれを使用できますか?たとえば、this.classnameを使用して要素のクラスを取得するか、this.innerhtmlを取得して要素の内側のHTMLを取得できます。 this.propertyはdom要素のプロパティに直接アクセスしてください。

$(this).attr( 'id')とthis.id?

の間に互換性に違いはありますか? $(this).attr( 'id')およびthis.idは、すべての最新のブラウザーと互換性があります。ただし、純粋なJavaScriptプロパティであるThis.idは、jQueryを完全にサポートしていないインターネットエクスプローラーの古いバージョンとも互換性があります。 JavaScriptでは、プロパティがオブジェクト上で定義されていない場合、アクセスは未定義になります。ただし、DOM要素には、IDを含む定義済みのプロパティセットがあります。 ID属性がDOM要素に設定されていない場合、this.idにアクセスしてください。はい、JavaScriptでthis.idを使用してDOM要素のIDを設定できます。たとえば、this.id =「newID」は、要素のIDを「newID」に設定します。ただし、IDを動的に変更するときは、コードの混乱と予期しない動作につながる可能性があるため注意してください。 IDプロパティを使用したPure JavaScriptのDOM要素のID。たとえば、要素と呼ばれる変数内のDOM要素への参照がある場合、element.id。

を使用してIDを取得できます。 'id')?

$(this).attr( 'id')の代わりにthis.idを使用すると、処理が少ないため、コードのパフォーマンスが向上します。 DOM要素のIDプロパティに直接アクセスしますが、$(this).attr(「ID」)にはjQueryオブジェクトを作成し、attr()メソッドを使用してid。

を取得します。

以上がjQuery速度テスト:$(this).attr( 'id'); vs this.idの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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