jQuery检入数组并返回true或false
我有一系列的页面jQuery检入数组并返回true或false,jquery,arrays,logic,Jquery,Arrays,Logic,我有一系列的页面 var $pages = ["events", "template", "privacy", "terms", "mentor", "party", "getinvolved", "tools"]; 我想做的是 if ( $body[0].id !== anyOfThePageInTheArray ) { //do something here }); 如果它们所在的页面不是数组中的页面之一,我该如何处理 我试过.inArray和。每种,但我想可能是我做
var $pages = ["events", "template", "privacy", "terms", "mentor", "party", "getinvolved", "tools"];
我想做的是
if ( $body[0].id !== anyOfThePageInTheArray ) {
//do something here
});
如果它们所在的页面不是数组中的页面之一,我该如何处理
我试过.inArray
和。每种,但我想可能是我做错了什么。试试:
if($pages.indexOf($body[0].id) == -1){
//code here
}
尝试:
本机数组.indexOf
工作正常:
if ($pages.indexOf($body[0].id) === -1) {
// It's not in there
}
但如果您坚持使用jQuery:
if ($.inArray($body[0].id, $pages) === -1) {
// It's not in there
}
本机数组.indexOf
工作正常:
if ($pages.indexOf($body[0].id) === -1) {
// It's not in there
}
但如果您坚持使用jQuery:
if ($.inArray($body[0].id, $pages) === -1) {
// It's not in there
}
你应该使用
if($.inArray($body[0].id,$pages) === -1)
当第二个参数不在数组中时(第一个参数),它将返回-1。否则,它将返回元素的索引
顺便说一下,$body[0].id
返回例如“events”,或者是一个数字?您应该使用
if($.inArray($body[0].id,$pages) === -1)
当第二个参数不在数组中时(第一个参数),它将返回-1。否则,它将返回元素的索引
顺便说一下,$body[0]。id
返回例如“事件”,或者是一个数字?@karthikr:OP的问题是$body[0]。id!==AnyOfGeintherray
,因此条件似乎在检查元素是否不在数组中。我不知道为什么它不起作用:/它好像从未检查过整个数组并已返回。@karthikr:OP的问题有$body[0]。id!==AnyofPaginTharray
,因此它看起来像是在检查元素是否不在数组中。它对我不起作用我不知道为什么:/它好像从来没有检查过整个数组,并且已经返回了。我想它是在返回参数的页面名,然后才返回,如果您可以使用控制台.log($body[0].id)进行调试;控制台日志($页)代码>要知道出了什么问题…matiaslaporte我想我知道出了什么问题,我忘记了我的右括号,所以这段代码是有效的,但仅供参考,您的等号应该是==
我想它是在返回参数的页面名称,然后才返回,如果您可以使用控制台.log($body[0].id)进行调试;控制台日志($页)代码>要知道出了什么问题…matiaslaporte我想我知道出了什么问题,我忘记了我的结束括号,所以这个代码是有效的,但仅供参考,你的等价物应该是==