I want use find
function to find elements but how I can detect that no thing found?
This is my code that not works properly and always return true
:
if ($(this).find('img'))
return true;
最好的方法是使用 .length,例如,如果您的 html 是:
<div>
<img src="" alt="" />
</div>
你的 js/jquery 是:
var test = $('div').find('img').length;
alert(test);
有一个包含一个图像的 div,测试将警告 1。
在你的情况下:
if($(this).find("img").length == 0){
// There is no image inside your selected element - Do something
}else{
// There is some image inside your selected element - Do something
}
利用.length
if ($(this).find('img').length)
return true;
你需要使用
$(this).find("img").length == 0
尽管看起来有点深奥,.find() 返回一个 jQuery 集合对象,它可以包含指向 0 个或更多 DOM 元素的指针。您当前的代码仅检查是否设置了名为 $(this).find("img") 的变量。