3

関数を個々のDOM要素またはそれらのリストに適用するオプションがあるとします。

個人:

$('#element1').click(function () { 
    $(this).hide(); 
    return false; 
});
$('#element2').click(function () { 
    $(this).hide(); 
    return false; 
});
$('#element3').click(function () { 
    $(this).hide(); 
    return false; 
});

対コレクション:

 $('#element1, #element2, #element3').click(function () { 
    $(this).hide(); 
    return false; 
});

コードの記述を減らす以外に、コレクションに関数を適用することによる計算上の利点はありますか?コードはもっと速く実行されますか?

私が尋ねている理由は、私の要素がJSオブジェクトであり、それらを個別に処理する必要があるためです。

4

3 に答える 3

0

2 番目の方法を使用してもパフォーマンスが向上することはないと思いますが、ごくわずかです。

ただし、メモリの概念を見ている場合は、内部関数が 1 つしか作成されず、3 つの要素すべてで同じ参照が使用されるため、2 番目の方法が適している可能性があります。

于 2012-10-12T13:31:33.757 に答える
-1

クラスにコードを適用して、このクラスを3つの要素に追加してみませんか:)

$('.hide').click(function () { 
    $(this).hide(); 
    return false; 
});

異なる要素で同じ動作が必要な場合は、要素ごとにクリック イベントを登録するよりも、要素にクラスを追加する方がよいと思います。

そして、あなたはこのhtmlを持っています

<a href="#" id="element1" class="hide"></a>
<a href="#" id="element2" class="hide"></a>
<a href="#" id="element3" class="hide"></a>
于 2012-10-12T13:38:42.317 に答える