在jquery里,我們可以用$.inArray來(lái)判斷一個(gè)數(shù)組里是否包含了指定的值或其它對(duì)象元素,來(lái)看一個(gè)簡(jiǎn)單的實(shí)例:
-
var arr=["aijquery","jquery","I like it"];
-
-
if($.inArray(str,arr)<0){
-
-
$.inArray是用來(lái)獲取指定的值在數(shù)組中的位置,從0開(kāi)始計(jì)數(shù)(如果沒(méi)有找到則返回 -1 。
上面的數(shù)組只是普通的字符型數(shù)組,下面我們來(lái)看其它類(lèi)型的數(shù)組,比如jquery里用$.makeArray來(lái)生成的HTML元素類(lèi)數(shù)組:
-
-
var arr=$.makeArray($("div"));
現(xiàn)在假設(shè)這些div里,我們其中有一個(gè)ID為"aijquery"的div,那么我們是否可以用上面的方法來(lái)判斷這個(gè)div是否包含在這個(gè)數(shù)組里呢?
答案是可以的,不過(guò)需要注意轉(zhuǎn)換jquery對(duì)象為js對(duì)象,來(lái)看下面站長(zhǎng)的測(cè)試結(jié)果:
-
$.inArray($("#aijquery"),arr);
-
$.inArray($("#aijquery")[0],arr);
PS:關(guān)于jquery對(duì)象與js對(duì)象之間的轉(zhuǎn)換:jquery對(duì)象與dom對(duì)象之間互相轉(zhuǎn)換的方法,使jquery對(duì)象可以直接使用js里的方法
<!doctype html>
<html lang="en">
<head>
<title>$.inArray判斷元素是否包含在數(shù)組中的在線演示-aijQuery.cn</title>
<script language="JavaScript" src="http://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" >
</head>
<body>
<div id="aijquery">aijquery</div>
<div>1</div><div>2</div><div>3</div>
<P id="inarray">div#aijquery在數(shù)組里的位置是:</P>
<script language="javascript"> var arr=$.makeArray($("div")); //在測(cè)試的時(shí)候,可以把下面代碼中的[0]去掉,換成jquery對(duì)象來(lái)試 $("#inarray").append($.inArray($("#aijquery")[0],arr)); </script>
</body>
</html>
View Code