is(expr|obj|ele|fn)

最后更新于:2022-04-01 05:53:27

### 返回值:Booleanis(expr|obj|ele|fn) ### 概述 根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。 如果没有元素符合,或者表达式无效,都返回'false'。'''注意:'''在jQuery 1.3中才对所有表达式提供了支持。在先前版本中,如果提供了复杂的表达式,比如层级选择器(比如 + , ~ 和 > ),始终会返回true ### 参数 #### **expr**String*V1.0* 字符串值,包含供匹配当前元素集合的选择器表达式。 #### **jQuery object**object*V1.6* 现有的jQuery对象,以匹配当前的元素。 #### **element **Expression*V1.6* 一个用于匹配元素的DOM元素。 #### **function(index) **Function*V1.6* 一个函数用来作为测试元素的集合。它接受一个参数index,这是元素在jQuery集合的索引。在函数, this指的是当前的DOM元素。 ### 示例 #### 参数expr 描述: 由于input元素的父元素是一个表单元素,所以返回true。 ##### HTML 代码: ~~~ <form><input type="checkbox" /></form> ~~~ ##### jQuery 代码: ~~~ $("input[type='checkbox']").parent().is("form") ~~~ ##### 结果: ~~~ true ~~~ #### 回调函数 描述: 判断点击li标签增加背景色为红色,如果点击的是第2个strong,当前的li增加背景色为绿色, ##### HTML 代码: ~~~ <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> ~~~ ##### jQuery 代码: ~~~ $("li").click(function() { var $li = $(this), isWithTwo = $li.is(function() { return $('strong', this).length === 2; }); if ( isWithTwo ) { $li.css("background-color", "green"); } else { $li.css("background-color", "red"); } }); ~~~ ##### 结果: ~~~ list item 1 - one strong tag list item 2 - two strong tags list item 3 list item 4 list item 5 ~~~
';