jquery裏判斷數組內是否包含了指定的值或元素的方法

  本文講的是在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>
View Code

摘自:http://www.aijquery.cn/Html/jqueryrumen/79.htmlapp

相關文章
相關標籤/搜索