我有三个值:
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
}
有更好的想法吗?
答案 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的函数:)