一、is() 函数的基本用法
// 是否是隐藏的
$('#test').is(':visible');
$('#test').is(':hide')
// 判断input元素是否被选中
$('input[name=chkNoChecked]').is(':checked');
// 是否是第一个子元素
$(this).is(":first-child");
//父层是否为div标签
$("p").parent().is("div");
// 是否包含.blue,.red的class,相当于hasClass(‘classname’)
$(this).is(".blue,.red");
// 文本中是否包含Peter这个词
$(this).is(":contains('Peter')");
//解决动画重复问题
$('div:last').is(":animated");
二、is() 对基于函数而非选择器的相关元素的表达式进行求值,如果该函数返回 true,则 .is() 也返回 true
<ul>
<li><strong>list 1</strong> 我有1个加粗</li>
<li><strong>list 2</strong> 我有2个加粗 <strong>list</strong> -
two <span>item</span></li>
<li>list 3</li>
<li>list 4</li>
<li>list 5</li>
</ul>
$("li").click(function() {
var $li = $(this),
isWithTwo = $li.is(function() {
return $('strong', this).length === 2; //就否有两个strong,这个this指的是$('li')
});
if ( isWithTwo ) {
$li.css("background-color", "green");
} else {
$li.css("background-color", "red");
}
});
运行结果