[ 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>