为什么jQuery.inArray找不到值?

时间:2013-11-03 02:18:04

标签: jquery

jQuery.inArray处理变量吗?如果是,为什么这个例子不起作用?

jQuery代码:

var arrayOfitems = ["1","2","33","34","35","36","37","38","39","40","41","42","77"];

$(document).ready(function(){

    var searchN = $(#some-element-id).val(); // var searchN = 2;

    if($.inArray(searchN, arrayOfitems) !== -1 )
     {
            alert('is in array');
     }
     else
    {

         alert('is not in array');
    }
});

小提琴:

http://jsfiddle.net/vyYE3/2/

4 个答案:

答案 0 :(得分:2)

您的数组有字符串,但您正在搜索数字。

请注意,2 == "2"true,但2 === "2"false

$.inArray使用后者。

答案 1 :(得分:1)

它正在进行类型检查。字符串2在数组中,但Int 2不存在。

答案 2 :(得分:1)

在这里使用元素http://jsfiddle.net/vyYE3/3/

的ID

您需要进行此更改

var searchN = $('div').attr('id');

答案 3 :(得分:1)

如果您的元素是div,例如:

<div id="some-element-id">35</div>

使用它:

var searchN = $('#some-element-id').text();