Javascript jqueryif语句似乎不起作用
我有一个if语句,由于某种原因,我似乎无法让它工作,有人知道为什么吗 我有一个span标记,它包含一个字符串,我试图说如果这个字符串==X,那么就这样做,如果不做其他事情的话Javascript jqueryif语句似乎不起作用,javascript,jquery,Javascript,Jquery,我有一个if语句,由于某种原因,我似乎无法让它工作,有人知道为什么吗 我有一个span标记,它包含一个字符串,我试图说如果这个字符串==X,那么就这样做,如果不做其他事情的话 if ($('span.errorp:contains("323ou")').length > 0) { //found at least one that contains the text alert('hi'); } else { alert('working'); } Fiddle
if ($('span.errorp:contains("323ou")').length > 0) {
//found at least one that contains the text
alert('hi');
} else {
alert('working');
}
Fiddle:jQuery的
$
函数将始终返回一个真值。测试其长度以查看找到了多少匹配项(0为假值)。若要检查选择器是否选择了任何内容,请使用.length
:length
属性返回匹配元素的数量。如果不匹配,.length
等于零,$(“.”)。length
的计算结果为false
。如果有任何元素,表达式$(“.”).length
的计算结果为true
if($('span.errorp:contains("323ou")').length ){ //.length
alert('hi');
} else {
alert('working');
}
你应该这样做
if(!!$('span.errorp:contains("323ou")').length ){
alert('hi');
} else {
alert('working');
}
它的计算结果为
0
或大于0
的数字。。。非true
或false
@Neal如果(…)被解析为逻辑表达式,括号内的任何内容:(子)表达式,由逻辑&
或|
分隔,被解释为布尔值。因此,如果表达式是非布尔值,它将转换为true
或false
。
if($("span.errorp").text().match("323ou")){
alert('hi');
} else {
alert('working');
}