我读过的所有内容都说这是测试jQuery的find()是否匹配的正确方法:
var myVar = $(this).find('#gallery');
if (myVar.length) {
alert('found');
} else {
alert('not found');
}
这确实可以正常工作,但是只要找不到该元素,Chrome就会在控制台中抛出此错误:
Uncaught TypeError: Cannot read property 'length' of undefined
有没有更简洁的方法来测试find()是否匹配任何东西 - 一个不在控制台中输出错误的方法?我必须运行这个比较数十次,我觉得编程错误地解决控制台错误是不好的。
更新:我正在查看错误的文件,并在上面发布了错误的代码。 $(this).find('#gallery')。length确实是检查是否存在匹配的正确方法,并且不会在Javascript控制台中抛出错误。
我试图删除这个问题,但我不允许这样做。离开这里,希望其他人觉得它有用。
答案 0 :(得分:1)
为什么不使用if (myVar != undefined && myVar.length)