写函数的之后,中间要写一个函数,大概实现的功能是在数组匹配元素,如果找到返回1,没找到返回-1:
<pre name="code" class="javascript"> function inArraySearch(para,ids){
<span style="font-family: Arial, Helvetica, sans-serif;">var flagself=para.attr("typeAttr");</span><pre name="code" class="javascript"> // console.log(flagself);
var ret=-1;
var id=para.children('td').eq(0).text();<pre code_snippet_id="1714667" snippet_file_name="blog_20160612_3_7609991" name="code" class="javascript"> $.each(<span style="font-family:Arial, Helvetica, sans-serif;">ids</span>,function(index, value){
if(value.wordid==id&&flagself==value.flag){
return 1;
}
return -1;
}
}
结果发现实现不了,老是报-1,永远没有找到返回为1的,后来百度了才知道,因为在jquery的each里面,是没有continue和break的,return true代表continue,而return false代表break,所以这么写的话相当于即使找到了也是做continue,不会做return。所以最后还是用的普通的for循环来做的。看来jquery还是不能乱用啊!
function inArraySearch(para,ids){
var flagself=para.attr("typeAttr");
// console.log(flagself);
var ret=-1;
var id=para.children('td').eq(0).text();
for(var i=0;i<ids.length;i++){
if(ids[i].wordid==id&&flagself==ids[i].flag)
return 1;
}
//alert("not found")
return -1;
}