使用jQuery,我试图迭代一个数组并与一个值进行比较,但是我遇到了困扰我的问题。这是代码:
var cF = ['first','last','email'];
var fFound = 0;
cj(this).children('.section').each(function(f){
var fId = cj(this).attr('class');
fId = fId.replace('-section', '');
console.log('fId: ',fId);
cj.each(cF, function( cFi, cFv ){
console.log('cFv: ',cFv);
if ( cFv == fId ) {
console.log('found!');
fFound = 1;
}
});
console.log('fFound: ',fFound);
});
基本上我正在做的是搜索一系列div(用'this'传递),检索类名,将后缀剥离到类,然后将它与我的cF数组进行比较。如果找到,我想将fFound设置为1(这是我的标志,表示该值存在)。
最初我使用的是jQuery.inArray(),但运气不好。当我将fId和cFv发送到控制台时 - 它们匹配 - 但比较不会将它们识别为匹配。
答案 0 :(得分:1)
试试这个
cj.each(cF, function( cFi, cFv ){
console.log('cFv: ',cFv);
if ( $.inArray( fId, cF ) > -1 ) {
console.log('found!');
fFound = 1;
}
});
答案 1 :(得分:0)
迭代数组并比较值
var cF = ['first','last','email'];
var bla = 'anything'
var fFound = 0;
for (j in cF) {
if (bla.indexOf(cF[j]) > -1) {
fFound = 1;
}
}
ops ...你想要jQuery ......从头开始。
答案 2 :(得分:0)
var cF = ['first','last','email'];
var fFound = 0;
cj(this).children('.section').each(function(f){
var fId = cj(this).attr('class');
fFound = 0; // reset
fId = fId.replace('-section', '').trim();
console.log('fId: ',fId);
if( $.inArray( fId, cF ) !== -1 ) {
console.log('found!');
}
console.log('fFound: ',fFound);
});