jQuery检查两个值是否为空

时间:2011-07-18 16:23:30

标签: javascript jquery

我有三个值:

var tbb = $("#total1 span").text();
var tmb = $("#total2 span").text();
var tab = $("#total3 span").text();

每一个都可能是空白的。

如果其中两个值为空白,javascript / jquery检查的更好方法是什么?

更新

这就是我的意思,我有点丑陋和“很多行”解决方案

var i = 0;
            if (tab != "") {
                i++;
            }

            if (tmb != "") {
                i++;
            }

            if (tbb != "") {
                i++;
            }

            if (i >= 2) {
                //do something
            }

有更好的想法吗?

8 个答案:

答案 0 :(得分:1)

if(tbb == null || tbb == ''){...}

其余部分也一样。

答案 1 :(得分:1)

var twoAreEmpty = $("#total1, #total2, #total3").find("span:empty").length === 2;

答案 2 :(得分:0)

var twoblank = 
  $("#tota11 span, #total2 span, #total3 span")
    .filter(function(index){
      return !$(this).text().replace(/^\s+|\s+$/g, '');
    })
    .length === 2;

此外,您可能意味着#total1,而不是#tota11 - 只是说。

答案 3 :(得分:0)

if(tab ==“”)应该不够吗?

.text()是否会返回空白?

答案 4 :(得分:0)

var filtered = [tmb, tbb, tab].filter(function( str ) {
    return !str.length;
});

if( filtered.length === 2 ) {
    console.log('yay, two empty values: ', filtered); 
}

答案 5 :(得分:0)

试试吧。

var i = 0; 
if(tbb.length == 0 )
{  
    i++
}
 if(tmb.length == 0 )
{  
    i++
} 
if(tab.length == 0 )
{  
    i++
}  
if(i >=2)  
{
   //perform operation
}

答案 6 :(得分:0)

已经有一段时间了,但这将成为您想要的单线解决方案。

if (((tab == '' ? 1 : 0) + (tmb == '' ? 1 : 0) + (tbb == '' ? 1 : 0)) > 1){
    // Do Something
}

答案 7 :(得分:-1)

所有有效答案,但遗忘未定义:)

if(tbb === '' || tbb === null || tbb === undefined){ // do stuff };

我建议把它变成一个可以返回true / false的函数:)