我有一个非常简单的js函数:
function refresh(ltr) {
if (board.find('p:contains("' + ltr + '")')) {
board.find('p:contains("' + ltr + '")').show();
} else {
alert('Hello.');
}
}
显然我将一个字符串传递给ltr,如果它包含字符串,它可以正常工作但如果没有则不会触发警报......
你知道为什么吗?
答案 0 :(得分:17)
因为.find
返回一个总是求值为true
尝试布尔表达式:
if( board.find('p:contains("' + ltr + '")').length > 0 )
答案 1 :(得分:5)
board.find()
将始终返回一个jQuery集合,该集合将评估为真实。你需要:
board.find(...).length