1

是否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

4 回答 4

2

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

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

$.inArray使用后者。

于 2013-11-03T02:21:20.063 回答
1

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

于 2013-11-03T02:23:52.220 回答
1

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

您需要进行此更改

var searchN = $('div').attr('id');
于 2013-11-03T02:24:50.983 回答
1

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

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

用这个:

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

于 2013-11-03T02:32:16.620 回答