如果display:none,如何删除类colorbox

时间:2013-06-14 12:28:30

标签: jquery colorbox

我尝试在样式display:none

时删除类颜色框

有人可以帮助我,谢谢

HTML

    <li class="portfolio-item" style="display: none;">
    <div class="item-image">
        <a class="colorbox cboxElement" href="http://www.monsite.fr/IMG_1423.jpg""></a>
    </div>
</li>
<li class="portfolio-item" style=" ">
    <div class="item-image">
        <a class="colorbox cboxElement" href="http://www.monsite.fr/IMG_1424.jpg""></a>
    </div>
</li>

的jQuery

    jQuery(document).ready(function($){
$(".portfolio-item .item-image a[href$='.jpg']").colorbox({
    rel:"group2",
    maxWidth:"80%", 
    maxHeight:"80%"});


    if($('.portfolio-item').css('display') == 'none'){ 
       $('.portfolio-item').find(".item-image a[href$='.jpg']").removeClass('colorbox'); 
    } 

});

修改

感谢您的帮助,但我试过了

jQuery(document).ready(function($){
    $(".portfolio-item .item-image a[href$='.jpg']").colorbox({
       rel:"group2",
    maxWidth:"95%", 
    maxHeight:"95%"});  

    $('li.portfolio-item').filter(':hidden').map(function() {
        $(this).find('a.colorbox').removeClass('colorbox');
    });     
});

但它不起作用。

2 个答案:

答案 0 :(得分:2)

确保您的href属性被一组"

包围
<a class="colorbox cboxElement" href="http://www.monsite.fr/IMG_1423.jpg"></a>


尝试使用:hidden伪选择器来检测元素是否有display:none;

if($('.portfolio-item:hidden').length){ 
   $('.portfolio-item').find(".item-image a[href$='.jpg']").removeClass('colorbox'); 
}


在投资组合项目上使用.each循环可能是更好的方法:

$('.portfolio-item:hidden').each(function(){
    $(this).find(".item-image a[href$='.jpg']").removeClass('colorbox');
}

jQuery :hidden

答案 1 :(得分:0)

首先,修复你的标记。然后,您可以执行以下操作: -

$('li.portfolio-item').filter(':hidden').map(function() {
  $(this).find('a.colorbox').removeClass('colorbox');
});