以下代码执行的操作是选择的类型genre
,并检查它是否包含所有数组中的data
之一。
示例:
genre = "comedy";
data = ["action", "comedy"]
我只想检查data
是否包含"comedy"
:
$( "header section" ).selectable({
selected: function() {
var genre = $(".ui-selected").data("genre");
console.log(genre);
$("body > section div").each(function() {
var data = $(this + ":contains('" + genre + "')").data("genre");
if (data != genre) {
$(this).css("display", "none");
} else {
$(this).css("display", "block");
}
});
}
});
我尝试使用选择器"contains"
进行此操作,但我认为它不适用于this
。
答案 0 :(得分:1)
你可以这样做:
$( "header section" ).selectable({
selected: function() {
var genre = $(".ui-selected").data("genre");
var data = $("body > section div").map(function() {
return $(this).data("genre");
}).get(); // creates an array
if($.inArray(genre, data) !== -1){//<--check if 'genre' exists in 'data'
$(this).css("display", "block");
}else{
$(this).css("display", "none");
}
}
});
关于$.inArray()
:
-1
。答案 1 :(得分:0)
您可以使用Array.indexOf()
或使用$.inArray()
,如下所示:
if( $.inArray(genre, data) > -1 ){
alert('contains')
}