3

私は $(this) の使用を見て、関数内で理解しましたが、セレクターでも見ましたが、いつ、またはそれが価値があるかどうかを理解できません。これは私が使用して仕事に取り掛かることができる2つの例ですが、私は本当に価値のあることをしていますか...

ここで、セレクターに $(this) を追加しました

(function($) {
    $(".deliver").on('mouseenter',function(){
        $(this).css({'width':'600px'});
        $(".form_jquery",$(this)).fadeIn(1000).css({'display':'block'});
        $(".componentheading",$(this)).css({'display':'none'});
    }); ...

ここに私のオリジナルのスクリプトがあります

(function($) {
    $(".deliver").on('mouseenter',function(){
        $(this).css({'width':'600px'});
        $(".form_jquery").fadeIn(1000).css({'display':'block'});
        $(".componentheading").css({'display':'none'});
    });

私は両方で (this) の標準的な使用法として私が知っていることを保持し、これが考慮された場合に備えて匿名関数で使用していることに注意しました.

4

3 に答える 3

5
$(".componentheading",$(this))

.componentheading現在の要素の下にある要素のみを検索します$(this)(この特定のケースで.deliverは、マウスで入力した要素です)。

$(".componentheading")

ドキュメント全体でそれらを検索します。

http://api.jquery.com/jQuery/#jQuery1

于 2013-02-12T20:07:44.920 に答える
0

jQuery 関数に 2 番目の引数を指定すると、選択のコンテキストが絞り込まれます。デフォルトでは、コンテキストは文書全体です。

コンテキストとして使用する場合、ハンドラーをトリガーする要素内にまたはクラス$(this)を持つ要素のみを探します。form_jquerycomponentheadingmouseenter

探している要素がそのコンテキストで実際に見つかることがわかっている限り、セレクター検索を絞り込むためのコンテキストを提供することは、セレクターのパフォーマンスを向上させる良い方法です。

于 2013-02-12T20:10:30.547 に答える
0
$( selector, context )

jQuery の実際の関数は次のようjQuery( selector, context )になります。コンテキスト値に要素を指定すると、jQuery が要素を試行すると、指定jQuery.findした要素で開始されます。

多くの場合、これによりパフォーマンスが向上します。

jQuery コンテキストについて読む

jQuery 関数に要素を提供するために、多くの人がDOM キャッシングと呼ばれる方法を採用しています。この方法では、要素を変数に格納し、それを参照コンテキストとして jQuery 関数に渡します。

于 2013-02-12T20:12:20.073 に答える