if( ('.container').closest('.item7') = true){
hide THE container of item7.
//----
//need help with this line
//something like $closest('.item7').('.container').hide();
//----
}
要点:
如果容器中存在item7类,则隐藏容器。
答案 0 :(得分:1)
简单:
$('.container').each (function () {
if ($(this).has('.item7').length>0 ){
$(this).hide();
}
})
答案 1 :(得分:1)
如果你有更多容器,你应该循环它们:)
$('.container').each( function() {
if( $(this).find('.item7').length ){
$(this).hide();
}
});
答案 2 :(得分:1)
目前还不完全清楚你要做什么,但在多次阅读你的问题之后,我的猜测是你想要这样的逻辑。如果.container
对象在其中有.item7
类的任何对象,则隐藏.container
父对象。如果那是你真正想做的事情,你可以这样做:
$('.container .item7').closest('.container').hide();
这将找到.item7
中的所有.container
个对象,然后隐藏每个匹配项中最接近的.container
父对象。
如果.container
不包含.item7
,则不会触及该.item7
。如果.container
中不存在$('.container .item7').parents('.container').hide();
,则不会触及。{/ p>
如果可能有多个级别的容器并且您想要隐藏它们,您可以这样做:
.item7
找到所有.container
对象,然后隐藏所有.container
个父对象。
我这样做的首选方式实际上就是这样。如果只有少量.item7
个对象,但有很多$('.container').has('item7').hide();
个对象,那么效率会更高:
.container
这就是找到每个.container
对象。然后在生成的jQuery对象(所有.container
个对象中)中删除任何没有后代.item7
的{{1}}对象,然后隐藏提醒.container
个对象。 / p>
答案 3 :(得分:0)
$('.item7').each(function() {
$(this).parents('.container').hide();
});
这是一个小提琴,显示它正在工作> http://jsfiddle.net/ULZGH/