8
  1. これらの2つのコードスニペットは同じことをしますか?はいの場合、どちらをもう一方の上に使用する必要がありますか?i(またはを含む何かをする必要がある場合を除いてvalue

    $("foo").each(function(i,value) {
        $(this).empty();
    });
    

    対。

    $("foo").empty();
    
  2. 一般に、「メソッドの名前が?である場合を除いて、セレクターに一致する各要素で実行する$("foo").someMethod()」という意味であると見なすことができます(つまり、それぞれが特殊なケースです)。somemethod()each

4

2 に答える 2

4

ストックjQuery関数を参照していると仮定すると、はい、コードの2つのスニペットは同一です。

each()インデックスを操作する場合、または長い関数チェーンを防ぐために、この関数を使用する必要があります。

あなたの理解は$('foo').someMethod()jQueryメソッドに当てはまります。ただし、一部のプラグインはセレクターを異なる方法で処理したり、最初に一致した要素にのみ影響を与えたりする場合があることに注意してください。

于 2012-10-16T13:02:24.963 に答える
3

はい、ほとんどのjQuery関数はこのように設計されています。

コード例を見てください:

$.fn.someMethod = function() {
   return this.each(function() {
      do_something(this); 
   });
};

したがって.each、再度使用できる場合でも、次を使用する必要があります。

$(selector).someMethod();

いいえ

$(selector).each(function() {
  $(this).someMethod();
});
于 2012-10-16T13:08:01.683 に答える