1

使用 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 发送到控制台时——它们匹配——但比较不会将它们识别为匹配。

4

3 回答 3

1

试试这个

cj.each(cF, function( cFi, cFv ){
    console.log('cFv: ',cFv);
    if ( $.inArray( fId, cF )  > -1 ) {
      console.log('found!');
      fFound = 1;
    }
  });
于 2012-09-24T18:25:31.557 回答
0

遍历数组并比较值

var cF = ['first','last','email'];
var bla = 'anything'
var fFound = 0;

for (j in cF) {
    if (bla.indexOf(cF[j]) > -1) {
        fFound = 1;
    }
}

操作...你想要 jQuery...从头开始。

于 2012-09-24T18:23:08.830 回答
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);
});
于 2012-09-24T18:23:42.630 回答