2013-02-09 125 views
3

我有这些元素;检查CSS类是否有属性 - jQuery

<div class="preview"> 
    <div class="title" style="display:block"> 
</div> 

<div class="preview"> 
    <div class="title" style="display:none"> 
</div> 

<div class="preview"> 
    <div class="title" style="display:none"> 
</div> 

我想添加一个类到预览,如果标题是'display:none'。

请帮我简写一下。

谢谢&此致敬礼。

回答

4

试试这个:

$('.title').is(':not(:visible)').closest('.preview').addClass('foo'); 

:not(:visible)会赶上谁是隐藏由于visibilitydisplay性质的任何.title元素。如果你只是想赶上display: none试试这个:

$('.title').each(function() { 
    if ($(this).css('display') == 'none') { 
     $(this).closest('.preview').addClass('foo'); 
    } 
}); 
+0

非常感谢你。 +1 – Body 2013-02-09 14:13:12

6
$('.preview').has('.title:hidden').addClass('yournewclass'); 
+1

这里的逻辑是错误的 - 如果标题不可见,他想添加类 – 2013-02-09 12:11:23

+0

@RoryMcCrossan是的,谢谢。更新了我的答案。 – Engineer 2013-02-09 12:14:00

+0

非常感谢。 +1 – Body 2013-02-09 14:12:36