检查每次迭代Jquery条件是否为真

时间:2016-01-13 11:45:43

标签: jquery

我正在运行每个jQuery ..我需要检查每次条件是否在循环中是真的然后它是True,如果它是False,即使它是False。

jQuery(".class span").each(function(){
   var attr_Val = parseInt($(this).attr("data-value"));
   if(parseInt(product_obj.length) == attr_Val)
   {
        // if it was true every time, then set its True. Else False    
   }
});

4 个答案:

答案 0 :(得分:0)

这就是你想要的。

var isFound= true;
jQuery(".class span").each(function(){
   if(parseInt(product_obj.length) != parseInt($(this).attr("data-value"))
   {           
        isFound = false; 
        //it works as break; in each loop
        //for better performance do break loop 
        return false;
   }      
});

答案 1 :(得分:0)

var myBool = true;
jQuery(".class span").each(function(){
  var attr_Val = parseInt($(this).attr("data-value"));
  if(parseInt(product_obj.length) != attr_Val)
  {
      myBool = false;   
  }
});

我将你的==更改为!=,每次都是假的,因为如果结果为真,我不必做任何事情。

基本解释:我将myBool变量设置为true,然后运行.each()函数。如果任何结果不匹配,myBool就会变错。

答案 2 :(得分:0)

您的问题需要更多澄清,我怀疑您尝试做的是两件事之一

  1. 查找与选择器.class span匹配的所有元素,其data-value属性与预定义值(product_obj.length)匹配。

  2. 确定与选择器.class span匹配的所有元素是否都与预定义值(product_obj.length)匹配。

  3. 两者都很容易,但都不需要使用jQuery each

    对于1.使用过滤器:

    var $matched = jQuery(".class span").filter(function(){
       var attr_Val = parseInt($(this).attr("data-value"));
       return parseInt(product_obj.length) == attr_Val;
    });
    

    for 2.使用过滤器和长度:

    var $elems = jQuery(".class span");
    
    var $matched = $elems.filter(function(){
       var attr_Val = parseInt($(this).attr("data-value"));
       return parseInt(product_obj.length) == attr_Val;
    });
    var allMatch = $elems.length === $matched.length;
    

答案 3 :(得分:-1)

jQuery(".class span").each(function(){
   if(parseInt(product_obj.length) != parseInt($(this).attr("data-value"))
   {
       //if you enter here just ONE time it will return false
        return false;
   }
});

希望有所帮助