is()
最新更新: 2018-09-07 15:25:54
阅读: 25次
定义和用法
根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。
如果没有元素符合,或者表达式无效,都返回'false'。 '''注意:'''在jQuery 1.3中才对所有表达式提供了支持。在先前版本中,如果提供了复杂的表达式,比如层级选择器(比如 + , ~ 和 > ),始终会返回true
语法
- is(expr|obj|ele|fn)
参数 | 描述 |
---|---|
expr | 字符串值,包含供匹配当前元素集合的选择器表达式。 |
jQuery object | 现有的jQuery对象,以匹配当前的元素。 |
element | 一个用于匹配元素的DOM元素。 |
function(index) | 一个函数用来作为测试元素的集合。它接受一个参数index,这是元素在jQuery集合的索引。在函数, this指的是当前的DOM元素。 |
例子 1
由于input元素的父元素是一个表单元素,所以返回true。
-
# HTML 代码:
-
<form><input type="checkbox" /></form>
-
# jQuery 代码:
-
$("input[type='checkbox']").parent().is("form")
结果:
true
例子 2
判断点击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");
-
}
-
});
例子 3
下面是 is() 函数比较常用的用法
// 是否是隐藏的 $('#test').is(':visible'); // 判断input元素是否被选中 $('input[name=chkNoChecked]').is(':checked'); // 是否是第一个子元素 $(this).is(":first-child"); // 是否包含.blue,.red的class $(this).is(".blue,.red"); // 文本中是否包含Peter这个词 $(this).is(":contains('Peter')");