Possible Duplicate:
Why does $(‘#id’) return true if id doesn’t exist?




我有一个非常简单的js函数:

function refresh(ltr) {
    if (board.find('p:contains("' + ltr + '")')) {
        board.find('p:contains("' + ltr + '")').show();
    } else {
        alert('Hello.');
    }
}


显然我将一个字符串传递给ltr,如果它包含字符串,则可以正常工作,但如果不包含该字符串,则不会触发警报...

你知道为什么吗?

最佳答案

因为.find返回一个总是计算为true的jQuery对象

尝试一个布尔表达式:

if( board.find('p:contains("' + ltr + '")').length > 0 )

10-08 15:50