2014-02-27 64 views
0

我試圖找到一些陣列的一些話,我做了這樣的事情:jQuery的inArray使用

$("#get").click(function(){ 
    $(".name").each(function(){ 
     var fisier = $(this).text(); 
     alert($.inArray("migr", fisier)); 
    }); 
}); 

我幾乎在每一個fisier變種有「MIGR」,但我得到的只有-1。我究竟做錯了什麼 ?

謝謝!

+0

它只會匹配確切的單詞.. –

+3

'fisier'只是一個字符串而不是數組。 – xdazz

+0

當然,傻我..謝謝! – arrd

回答

1

您可以使用JavaScript indexOf方法檢查關鍵字。這是檢查陣列的每個元素:

$("#get").click(function(){ 
    $(".name").each(function(){ 
     var fisier = $(this).text();  
     if(fisier.indexOf("migr") !=-1){ 
      alert('Keyword found'); 
     }else{ 
      alert('Keyword not found'); 
     } 
    }); 
}); 
+0

!謝謝! – arrd

1

隨着inArray功能,您可以檢查值的幫助存在於陣列 與否。 $ .inArray函數返回元素的索引。如果數組中不存在 ,則它將返回-1。所以,我們可以非常簡單地檢查天氣數組中是否存在天氣數值。

0

fisier只是一個字符串而不是數組。

我想這是你想要什麼:

$("#get").click(function(){ 
    var names = $('.name').map(function() { 
     return $(this).text(); 
    }); 
    alert($.inArray("migr", names)); 
}); 
0

inArray返回元素的數組中的索引,而不是一個boolean值,指示數組中存在的項目。

所以,檢查的項目是數組中,使用方法:

if(jQuery.inArray("test", myarray)!==-1) 

if($.inArray("test", myarray)!==-1) 

爲inArray將返回-1,如果沒有被發現的元素。