私はさまざまな要素に適用したい、あるいはさまざまなコンテキストを作成するさまざまなセレクタに適用したい機能を持っています。 getClass関数内で$('#themes')
セレクタを指定する代わりに、this
を使用するために、以下の関数を変更するにはどうすればよいですか?jQuery関数で 'this'を理解して使用する
コード:
$('#themes').change(function(e) {
getClass(this, e);
});
function getClass() {
var classToAdd = $('#themes').find('option[value]:selected').map(function() {
return this.value;
}).get().join(' ');
var allClassess = $('#themes').find('option[value]').map(function() {
return this.value ? this.value : null;
}).get().join(' ');
$('#result').removeClass(allClassess).addClass(classToAdd);
}
はfiddle hereを参照してください。
に
map
機能を実行しているオブジェクトを参照しますforのため、セレクタで要素を再選択するべきではなく、代わりに 'this'を使います。 –