我试图检查插入到数组中的所有元素是否有类。 到目前为止我对数组的代码是这样的:
var ids = ['#biography', '#videogallery', '#pubblications', '#contacts', '#resume'];
var currentElem = "";
function test(){
$(ids.join()).each(function() {
var currentElem = $(this);
})
};
问题是现在我有点卡住了。我的意思是,我应该写什么,以便if
语句检查数组中具有id的所有元素是否具有" test"类?
类似的东西:
希望它不会太混乱。在此先感谢您的帮助!
答案 0 :(得分:5)
您可以使用.filter()
标识类的元素,然后比较已过滤元素和数组的length
属性。
var elementsHavingTestClass = $(ids.join()).filter('.test');
if(elementsHavingTestClass.length == ids.length){
//All elements have the class
//Do something
}else{
//Do something else
}
答案 1 :(得分:1)
您可以使用 filter() 函数并获取该类的元素并比较长度。
elementsWithTest = $(ids.join()).filter('.test');
答案 2 :(得分:0)
您可以过滤列表,只包含带有'test'类的元素,然后将大小与原始大小进行比较:
var filtered_arr = $(ids.join()).filter('.test');
if(filtered_arr.length === ids.length) {
// All have the class
}
else {
// At least one doesn't have the class
}
答案 3 :(得分:0)
这可能会有所帮助
function test() {
var flag = true;
$(ids.join()).each(function () {
if (!$(this).hasClass("yourClass"))
{
flag=false;
break;
}
});
return flag;
}