JQuery inArray返回true

时间:2012-10-11 20:17:52

标签: jquery arrays

var arr = [ "One", "Two", "Three" ];

$('select[name="class"]').change(function() {
    if (jQuery.inArray("blah blah", arr)) {
        alert("OK");
    }
});

这是警告“OK”,但“blah blah”不在数组中......我做错了什么?

3 个答案:

答案 0 :(得分:9)

jQuery.inArray函数始终返回一个值:

  

描述:在数组中搜索指定的值并返回   它的索引(如果没有找到则为-1)。

文档:http://api.jquery.com/jQuery.inArray/

将您的代码更改为:

if (jQuery.inArray('blah blah', arr)) >= 0) {
    alert('Ok');
}

答案 1 :(得分:3)

尝试:

if (jQuery.inArray("blah blah", arr) >-1) {

而不是:

if (jQuery.inArray("blah blah", arr)) {

答案 2 :(得分:3)

如果找不到该项,则jQuery.inArray返回-1。不幸的是,-1是JavaScript中的真值。

检查-1,你很好。