1

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;
4

3 回答 3

3

最好的方法是使用 .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

}
于 2013-07-10T15:27:02.560 回答
3

利用.length

if ($(this).find('img').length)
    return true;
于 2013-07-10T15:15:52.793 回答
1

你需要使用

$(this).find("img").length == 0

尽管看起来有点深奥,.find() 返回一个 jQuery 集合对象,它可以包含指向 0 个或更多 DOM 元素的指针。您当前的代码仅检查是否设置了名为 $(this).find("img") 的变量。

于 2013-07-10T15:21:11.110 回答