jquery测试一个条件vs整个集合没有循环

Wil*_*ill 5 jquery

循环很简单,但我想知道是否有办法查看集合中的每个项目是否与没有循环的条件相匹配.例如:

if( $('.many-items-of-this-class').hasClass('some-other-class') ) { }
Run Code Online (Sandbox Code Playgroud)

如果集合中的任何项返回true,则返回true.有没有办法做这种操作所以它只返回true如果所有项都是真的?

use*_*716 5

您可以缓存该集,然后针对测试其他类的集运行过滤器,并比较.length两者的属性.

var many_items = $('.many-items-of-this-class');

if( many_items.length === many_items.filter('.some-other-class').length ) { }
Run Code Online (Sandbox Code Playgroud)

或者更短,但可能更混乱,你可以使用 .not()过滤器.length和a !.

var many_items = $('.many-items-of-this-class');

if( !many_items.not('.some-other-class').length ) { }
Run Code Online (Sandbox Code Playgroud)