如果我正在遍历一些作为select
下拉列表的 jquery 对象,如何使用 jquery 获取所选选项的类$(this)
?
elems.each(function(idx, elem) {
if ($(this).is('select')){
console.log($(this, "option:selected"))
}
});
似乎不起作用。
如果我正在遍历一些作为select
下拉列表的 jquery 对象,如何使用 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)
其中第一个参数是选择器,第二个参数是上下文。
注意:第二.each
个参数是元素本身,所以你可以使用elem
而不是this
演示:http: //jsfiddle.net/MUC6H/1/
如何获得所选选项的类
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"))
}
});