本文講的是在jquery裏,如何判斷一個數組裏是否包含了指定的值,變量,或其它對象元素的方法。javascript
在jquery裏,咱們能夠用$.inArray來判斷一個數組裏是否包含了指定的值或其它對象元素,來看一個簡單的實例:css
var arr=["aijquery","jquery","I like it"]; var str="aijquery.cn"; if($.inArray(str,arr)<0){ alert("數組裏不包含!"); }
$.inArray是用來獲取指定的值在數組中的位置,從0開始計數(若是沒有找到則返回 -1 。html
上面的數組只是普通的字符型數組,下面咱們來看其它類型的數組,好比jquery裏用$.makeArray來生成的HTML元素類數組:java
//咱們首先使用$.makeArray來生成一個數組 var arr=$.makeArray($("div"));
如今假設這些div裏,咱們其中有一個ID爲"aijquery"的div,那麼咱們是否能夠用上面的方法來判斷這個div是否包含在這個數組裏呢?jquery
答案是能夠的,不過須要注意轉換jquery對象爲js對象,來看下面站長的測試結果:bootstrap
$.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.htmlapp