Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryif语句似乎不起作用_Javascript_Jquery - Fatal编程技术网

Javascript jqueryif语句似乎不起作用

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标记,它包含一个字符串,我试图说如果这个字符串==X,那么就这样做,如果不做其他事情的话

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');
                    }