如何使用jquery查找匹配选择器类和数据属性

时间:2017-01-24 13:01:12

标签: javascript jquery jquery-selectors

匹配选择器类和数据属性时是否有办法实现?

查找匹配的下拉列表,例如:

`<select class="type-featured" data-featured="normal">`
....
`<select class="type-featured" data-featured="classical">`
....
`<select class="type-featured" data-featured="modern">`

查找select,类等于类型特征和数据特征值等于正常 - 这是代码:

$('.style-wrapper').each( function() {
    var $styles = $(this);
    if ( $styles.parents().find('select').is('.type-featured, [data-featured=normal]') ) {
    // do something here
    }
});

如果select有type-featured class OR data-featured="normal", data-featured="classical", data-featured="modern"

,我知道了

如果匹配任何一个选择器,它似乎为TRUE。

可以使用.is函数获得我想要的结果吗?可能使用匿名函数,如:

.is( function() {
//here some logic to result
}); 

2 个答案:

答案 0 :(得分:2)

如果部署jQuery:

$('select.type-featured[data-featured="normal"]').each(function(){

    // [... DO SOMETHING...]

});

您将仅对那些具有以下内容的<select>元素运行该函数:

  • class="type-featured"
  • data-featured="normal"

答案 1 :(得分:0)

而不是is(...)尝试使用hasClass() - 这将确定是否为任何匹配的元素分配了给定的类。