我正在尝试检查其他具有类可见的li内的li是否可见,在那种情况下什么也不做,但是如果它没有添加样式宽度:0px。

if (jQuery("li:has(li.is-visible)")){
    //nothing at this moment
}
else {
    jQuery('ul.cd-gallery li').css({'width' : '0px'});
}


HTML部分代码

<ul class="cd-item-wrapper">
        <li data-type="sve" class="is-visible">
        <img class="img-reponsive" src="someimg.jpg" alt="Jabuka" height="150" />
        </li>
        <li data-type="proizvodi" class="is-hidden">
            <img class="img-reponsive" src="someimg.jpg" alt="Jabuka" height="150" />
        </li>
        <li data-type="vocnaci" class="is-hidden">
            <img class="img-reponsive" src="someimg.jpg" alt="Jabuka" height="150" />
        </li>
    </ul>
</li>


但是我正在使用jQuery将类从is-hidden更改为is-visible,反之亦然。因此,我的代码看不到任何更改,并且我已全部分组以显示所有图像。如果有帮助,请链接到该页面my site

我的Jquery代码很好,至少我认为,但是问题是(如果您要在站点上检查元素)您会看到一堆,并且我们要更改类别,我需要隐藏没有li> ul的元素(宽度:0) > li class =“ is-visible”

最佳答案

您可以使用hasClass()(建议将其作为it's fastest)来检测元素是否具有类:

if ( $("li > ul > li").hasClass('is-visible')) {
    //nothing at this moment
} else {
    $('ul.cd-gallery li').css({
        'width', '0px'
    });
}


is()

if ( $("li > ul > li").is('.is-visible')) {
    //nothing at this moment
} else {
    $('ul.cd-gallery li').css({
        'width', '0px'
    });
}

07-24 09:43
查看更多