[ jquery 过滤器 is(expr | jqObj | ele | function) ] 此方法用于在选择器的基础之上根据选择器 DOM元素或 jQuery 对象来检测匹配元素集合

根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。

如果没有元素符合,或者表达式无效,都返回'false'。 '''注意:'''在jQuery 1.3中才对所有表达式提供了支持。在先前版本中,如果提供了复杂的表达式,比如层级选择器(比如 + , ~ 和 > ),始终会返回true

!!!!特别声明:

    该方法的第二种用法是,对基于函数而非选择器的相关元素的表达式进行求值;对于每个元素来说,如果该函数返回 true,则 .is()返回 true。

实例:

<!DOCTYPE html>
<html lang='zh-cn'>
<head>
<title>Insert you title</title>
<meta http-equiv='description' content='this is my page'>
<meta http-equiv='keywords' content='keyword1,keyword2,keyword3'>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<script type='text/javascript' src='./js/jquery-1.12.1.min.js'></script>
<style type='text/css'>
</style>
<script type='text/javascript'>
    $(function(){
        /*
            此函数返回一个布尔值,现在我们知道可以返回布尔值的过滤器有两个 hasClass(class) | is(expr | jqObj | ele | function);
        */
        $('li').click(function(index){
          var bool = $(this).is(function(index){
               return $('strong',this).size() == 2;
           });
           if(bool){
               $(this).css({'background':'red','color':'#000','cursor':'pointer',});
           }else{
               $(this).css({'background':'green','color':'#FFF','cursor':'pointer',});
           }
        });
        
    });
</script>
</head>
<body>
    <div id='demo'>
        <ul>
          <li><strong>list</strong> item 1 - one strong tag</li>
          <li><strong>list</strong> item <strong>2</strong> - two <span>strong tags</span></li>
          <li>list item 3</li>
        </ul>
    </div>
</body>
</html>

 

原文地址:https://www.cnblogs.com/mysearchblog/p/5609056.html