2014-12-28 73 views
0

我有jQuery的问题。我试图做脚本,将这样做:“通过每个div相同的类.photo,如果元素不存在于此div .caption h1隐藏.photo .date p”。jQuery - 通过每个div,如果元素不存在隐藏其他元素

似乎是一件容易的事情,但我尝试了一切,无法让这个工作。下面是我的脚本不起作用。

$('.photo').each(function(i, obj) { 
    if ($('.photo .caption h1').length === 0) { 
     $('.photo .date p').hide(); 
    } 
}); 

我错过了什么,或者这整个脚本是错的吗?

谢谢!

回答

2

试试这个:

$('.photo').each(function(i, el) { 
    if ($(el).find('.caption h1').length === 0) { 
     $(el).find('.date p').hide(); 
    } 
}); 
+0

终于来了!我花了一些时间,但最后我明白了。我将'.length> 0'改为'.length === 0',它可以工作。你明明白白地理解了我:P感谢很多人,如果在这段时间里一直在苦苦挣扎:O:D谢谢你! – pbe

1

试试这个,

$('.photo').each(function(i, obj) { 
if($(obj).find(".caption h1").length != 0){ 
    $(obj).find(".date p").hide(); 
} 
}): 
+0

@Leo:谢谢leo,更正 – Antguider

+0

谢谢!将'!='更改为'==='后效果很好! – pbe