当前位置: 首页 > 中文手册 > jQuery.is() 函数详解

jQuery.is() 函数详解

is()函数用于判断当前jQuery对象所匹配的元素是否符合指定的表达式。只要其中有至少一个元素符合该表达式就返回true,否则返回false

这里的表达式包括:选择器(字符串)、DOM元素(Element)、jQuery对象、函数。

该函数属于jQuery对象(实例)。

语法

jQueryObject.is( expr )

参数

参数描述
exprString/Element/jQuery/Function类型指定的表达式。

is()函数实际上是判断当前jQuery对象所匹配的元素与指定表达式expr所表示的元素是否存在交集,如果存在交集就返回true,否则返回false

如果expr参数为字符串,则将其视作jQuery选择器,用以表示该选择器所匹配的元素。

jQuery 1.6 新增支持:参数expr可以为DOM元素(Element)、jQuery对象函数

如果expr参数为函数,is()函数将根据匹配的所有元素遍历执行该函数,函数中的this将指向当前迭代的元素。is()还会为函数传入一个参数:即该元素在匹配元素中的索引。

函数expr的返回值应该为true或者false。该函数的返回值将决定is()的返回值。循环执行时,只要该函数的返回值有一次为trueis()函数就立即返回true,否则返回false

返回值

is()函数的返回值为Boolean类型,以指示当前jQuery对象所匹配的元素与参数expr所表示的元素是否存在交集,如果存在交集,则返回true,否则返回false

示例&说明

以下面这段HTML代码为例:

<div id="n1">
	<div id="n2">
		<ul id="n3" data_id="12">
			<li id="n4">item1</li>
			<li id="n5" class="foo bar">item2</li>
			<li id="n6" class="level-2">item3</li>
		</ul>
	</div>
	<div id="n7">
		<input id="n8" name="username" type="text" value="1">
		<input id="n9" name="orders" type="checkbox" checked="checked" value="1">
	</div>
</div>

以下jQuery示例代码用于演示is()函数的具体用法:

var $n3 = $("#n3");
document.writeln( $n3.is("ul") ); // true
document.writeln( $n3.is("[data_id]") ); // true

var $n5 = $("#n5");
document.writeln( $n5.is(".foo") ); // true
document.writeln( $n5.is("li") ); // true
document.writeln( $n5.is("ul li") ); // true
document.writeln( $n5.is("p li") ); // false

var n5 = document.getElementById("n5");
document.writeln( $n5.is(n5) ); // true

var $li = $("li");
document.writeln( $n5.is($li) ); // true
// 判断li元素是否含有类名"level-index",这里的index表示li元素的索引值(0、1、2……)
document.writeln( $li.is( function(index){
	return $(this).hasClass("level-" + index);		
} ) ); // true


var $input = $("input");
document.writeln( $input.is(":text") ); // true
document.writeln( $input.is(":checked") ); // true

var div = document.getElementsByTagName("div");
var $n7 = $("#n7");
document.writeln( $n7.is(div) ); // true

运行代码

26 4
我们认为: 用户的主要目的,是为了获取有用的信息,而不是来点击广告的。因此本站将竭力做好内容,并将广告和内容进行分离,确保所有广告不会影响到用户的正常阅读体验。用户仅凭个人意愿和兴趣爱好点击广告。
我们坚信:只有给用户带来价值,用户才会给我们以回报。
CodePlayer技术交流群1CodePlayer技术交流群1

帮朋友打一个硬广告:

P2P网贷系统(Java版本) 新年低价大促销,多年P2P技术积累,系统功能完善(可按需定制,可支持第三方存管、银行存管),架构稳定灵活、性能优异、二次开发快速简单。 另可提供二次开发、安装部署、售后维护、安全培训等一条龙服务。

外行看热闹,内行看门道。可以自信地认为,在系统设计上,比市面上的晓风、迪蒙、方维、绿麻雀、国融信、金和盛等P2P系统要好。
深圳地区支持自带技术人员现场考察源代码、了解主要技术架构,货比三家,再决定是否购买。

也可推荐他人购买,一旦完全成交,推荐人可获得实际售价 10% 的返现。
有意向者,详情请 点击这里 联系,工作时间立即回复。