ドロップダウンであるいくつかのjqueryオブジェクトをループしている場合、select
jqueryを使用して選択したオプションのクラスを取得するにはどうすればよい$(this)
ですか?
elems.each(function(idx, elem) {
if ($(this).is('select')){
console.log($(this, "option:selected"))
}
});
動作しないようです。
ドロップダウンであるいくつかのjqueryオブジェクトをループしている場合、select
jqueryを使用して選択したオプションのクラスを取得するにはどうすればよい$(this)
ですか?
elems.each(function(idx, elem) {
if ($(this).is('select')){
console.log($(this, "option:selected"))
}
});
動作しないようです。
elems.each(function(idx, elem) {
var ref = $(this); // caching $(this)
if( ref.is('select') ) {
console.log( ref.find('option:selected') );
// OR in jQuery Context format
console.log( $('option:selected', ref) ); // this format internally
// called .find() method
// to get the class
console.log( ref.find('option:selected').attr('class') );
}
});
引数を渡した順序が正しくないことを除いて、ほとんどそこにいます。下記参照、
elems.each(function(idx, elem) {
if ($(elem).is('select')){
console.log($("option:selected", elem));
}
});
$("option:selected", this)
最初の引数はセレクターで、2 番目の引数はコンテキストです。
注: 2 番目の引数は要素自体であるため、代わりに.each
使用できます。elem
this
選択したオプションのクラスを取得するにはどうすればよいですか
if ($(this).is('select')){
console.log($(this).find("option:selected").attr("class"));
}
機能は試しましたhasClass
か?
elems.each(function(idx, elem) {
if ($(this).hasClass('select')){
console.log($(this, "option:selected"))
}
});
.
さらに見てみると、クラス識別子を追加すると、元のメソッドも機能すると思います
elems.each(function(idx, elem) {
if ($(this).is('.select')){
console.log($(this, "option:selected"))
}
});