0

要素を検索するときに find を使用するとパフォーマンスが向上する可能性があることを認識しています

$('#parent').find('.child');>$('#parent .child');

しかし、代わりに使用しなければならない条件はありますか?find()selector


そして、なぜ人々はこの質問を締めくくるために投票しているのですか?

find() には、作成する特定の理由が必要であり、その理由を知りたいだけです。

4

1 に答える 1

1

.find()親DOM要素または親jQuery要素がすでにある場合に最も役立ちます。イベントハンドラーで次のように使用されることがよくあります。

$(".whatever").click(function() {
    // change the label in this section to red
    $(this).closest("section").find("label").css("color", "red");
});

または、他の理由で、すでに jQuery オブジェクトがあり、その中で子を見つけて操作したい場合、特に連鎖操作を含む場合に便利です。

// jQuery object previously built for other reason
var items = ...;
// find all child labels and remove a class
items.closest(".item").find("label").removeClass("active");

jQuery コンストラクターでオプションの context パラメーターを使用することにより、このメソッドを完全に回避することはおそらく可能.find()ですが、それはそれほど便利ではなく、連鎖にも適していません。そもそも jQuery がここにある目的の半分は、物事をより迅速かつ簡単にするため、.find().

于 2013-04-01T03:41:58.043 に答える