2016-07-26 3 views
0

コードAはうまくいきます!コードBでは、私はこの$( '#のSelectImageFilter')を指すようになりますが、実際には、コードBは、なぜ、失敗した?と思いますかなぜ関数内でオブジェクトの代わりにこれを使用できないのですか?

コードA

$("#SelectImageFilter").change(function() { 
      temp.imagefilter = $('#SelectImageFilter').get(0).selectedIndex;   

}); 

コードB

$("#SelectImageFilter").change(function() { 
      temp.imagefilter = this.get(0).selectedIndex;   

}); 

答えて

2

これは$( '#のSelectImageFilter')を指していません。この場合、実際には$( '#SelectImageFilter')[0]または$( '#SelectImageFilter')。get(0)を指しています。

これは、あなたがそれを

$("#SelectImageFilter").change(function() { 
     temp.imagefilter = this.selectedIndex;   
}); 
にjQueryオブジェクト

変更コードBを指すようにしたい場合は$(this)を使用して、JavaScriptのDOM要素を指します

関連する問題