jQuery is()函数用法3例
jquery提供了is()方法可以很方便的判断元素是否可见,是否隐藏,是否选中。
一、判断元素是否隐藏
如下html中的p元素是隐藏的:
. 代码如下:
<!doctype html>
<html>
<head>
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.7.2.min.js"></script>
</head>
<body>
<p id="test" style="display:none">你看不到我</p>
<span ></span>
<script type="text/javascript">
$('span').html('test p is visible? ' + $('#test').is(':visible'));
</script>
</body>
</html>
二、判断checkbox是否选中
jquery中可以通过xx.is(':checked')判断checkbox,radiobutton是否是选中状态,如下测试html
. 代码如下:
<!doctype html>
<html>
<head>
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.7.2.min.js"></script>
</head>
<body>
<p>
<input type="checkbox" name="chkchecked" checked="checked"/> chkchecked
<input type="checkbox" name="chknochecked" /> chknochecked
</p>
<span ></span>
<script type="text/javascript">
$('span').html('chkchecked checked? ' + $('input[name=chkchecked]').is(':checked') + '<br/> '
+'chknochecked checked? ' + $('input[name=chknochecked]').is(':checked') );
</script>
</body>
</html>
三、判断是否使用了某个样式
. 代码如下:
<html lang="en">
<head>
<meta charset="utf-8">
<title>is函数介绍</title>
<style> //设置一些基本样式
p { width:60px; height:60px; margin:5px; float:left;
border:4px outset; background:green; text-align:center;
font-weight:bolder; cursor:pointer; }
.blue { background:blue; } //样式1
.red { background:red; }//样式2
span { color:white; font-size:16px; }
p { color:red; font-weight:bolder; background:yellow;
margin:3px; clear:left; display:none; }
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> //注意 这里使用的是jquery官方的脚步库
</head>
<body>
<p></p> //注意这里出现了第一个p
<p class="blue"></p>//注意这里出现了第2个p
<p></p>//注意这里出现了第3个p
<p class="red"></p>//注意这里出现了第4个p
<p><br/><span>peter</span></p>//注意这里出现了第5个p
<p class="blue"></p>//注意这里出现了第6个p
<p> </p>
<script>
$("p").one('click', function () { //$("p").one 代表对p元素附加一个事件,
//还能附加多个事件 譬如click或者mouut时同时执行一些事情
if ($(this).is(":first-child")) { //is函数发挥作用了,is(":first-child") 代表
//判断此p是否第一个出现的p
$("p").text("it's the first p."); //text和html区别在于是否支持html标记
// 此时你在里面写个 alert是不会执行的
} else if ($(this).is(".blue,.red")) { //判断该p是否 具有blue或者red的 class
$("p").text("这是个蓝色或者红色的p");
} else if ($(this).is(":contains('peter')")) { //判断p中是否存在peter这个词
$("p").text("it's peter!");
} else {
$("p").html("it's nothing <em>special</em>.");
}
$("p").hide().slidedown("slow"); //这是一个动画效果。慢慢展现p的内容
$(this).css({"border-style": "inset", cursor:"default"});
});
</script>
</body>
</html>