2016-12-18 13 views
1

すべてのkendoDatePicker要素を繰り返し処理したいと考えています。 私はそれを働かせましたが、それは非常に醜いようです。 これを行うより良い方法がありますか?jQuery.each()から値を取得するより良い方法はありますか?

var aryNewCalendar = []; 
 

 
    $(".g-datepicker").each(function() { 
 
     var id = $(this)[0].id; 
 
     if (id.substring(0,2) === "dp") 
 
      { 
 
      aryNewCalendar.push({ 
 
       Text: $(this)[0].value 
 
      }); 
 
     } 
 
    }); 
 
    return aryNewCalendar;

私は「.G-DatePickerの」クラスを持つすべての要素を反復処理していますが、 『ラッパー』はまた、特定されているように見えます。

私は全体が好きではありません。$(this)[0] .idアプローチでは、「不安定」と思われます。

答えて

1

$(this)[0].id;は、あなたが最初$()thisをラップして、その結果jQueryオブジェクトから戻ってからそれを引くの例外を除いてthis.idをやってと同じです。同上$(this)[0].value

ちょうどthis.idthis.valueと同じです。

それはあなたがによって何を意味するかあなたはまた、


かもしれない「ラッパーも特定される」、しかしただ冗長


全然明らかに不安定になる理由はありません

var aryNewCalendar = $(".g-datepicker[id*=dp]").map(function(){ 
    return { 
     Text: this.value   
    } 
}).get() 

これを前提とします。そのクラス内の他のIDにはどこにも "dp"が含まれていません

+0

ありがとうございます。私は少しjQueryを幸せにしていたと思います。 簡略化されたバージョンは完全に機能し、はるかに簡単でエレガントです。ありがとうございました。 – BobK

+0

私はそれをしました、私はそれを2回クリックしたに違いありません。再度、感謝します – BobK

関連する問題