本文講的是在jquery里,如何判斷一個數組里是否包含了指定的值,變量,或其它對象元素的方法。
在jquery里,我們可以用$.inArray來判斷一個數組里是否包含了指定的值或其它對象元素,來看一個簡單的實例:
var arr=["aijquery","jquery","I like it"]; var str="aijquery.cn"; if($.inArray(str,arr)<0){ alert("數組里不包含!"); }
$.inArray是用來獲取指定的值在數組中的位置,從0開始計數(如果沒有找到則返回 -1 。
上面的數組只是普通的字符型數組,下面我們來看其它類型的數組,比如jquery里用$.makeArray來生成的HTML元素類數組:
//我們首先使用$.makeArray來生成一個數組 var arr=$.makeArray($("div"));
現在假設這些div里,我們其中有一個ID為"aijquery"的div,那么我們是否可以用上面的方法來判斷這個div是否包含在這個數組里呢?
答案是可以的,不過需要注意轉換jquery對象為js對象,來看下面站長的測試結果:
$.inArray($("#aijquery"),arr);//返回-1 這是錯誤的結果 $.inArray($("#aijquery")[0],arr);//返回0 這才是正確的結果
PS:關於jquery對象與js對象之間的轉換:jquery對象與dom對象之間互相轉換的方法,使jquery對象可以直接使用js里的方法

<!doctype html> <html lang="en"> <head> <title>$.inArray判斷元素是否包含在數組中的在線演示-aijQuery.cn</title> <script language="JavaScript" src="http://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css"> </head> <body> <div id="aijquery">aijquery</div> <div>1</div><div>2</div><div>3</div> <P id="inarray">div#aijquery在數組里的位置是:</P> <script language="javascript"> var arr=$.makeArray($("div")); //在測試的時候,可以把下面代碼中的[0]去掉,換成jquery對象來試 $("#inarray").append($.inArray($("#aijquery")[0],arr)); </script> </body> </html>
摘自:http://www.aijquery.cn/Html/jqueryrumen/79.html