javascript - 如果类被更改,jQuery 会执行代码

标签 javascript jquery html css

我正在尝试检查其他 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 将类从隐藏更改为可见,反之亦然。所以我的代码没有看到任何变化,我已经将所有的分组显示所有图像。如果有帮助,请链接到该页面 my site

我的 Jquery 代码很好,至少我认为是这样,但问题是(如果你在现场检查元素)你会看到一堆

  • 并且如果你更改类别我需要隐藏元素(宽度: 0) 没有 li > ul > 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'
        });
    }
    

    关于javascript - 如果类被更改,jQuery 会执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29393723/

    相关文章:

    javascript - 如何防止表单提交后页面重定向/刷新,同时保留文件输入? jQuery

    javascript - 为什么我的清除按钮/悬停在更改颜色后不起作用?

    javascript - 手动刷新或写入时,React-router url 不起作用

    jquery - 在页面加载时使用 css3/jquery 滚动圆形图像

    javascript - 使用 Javascript/jQuery 向下翻页?

    javascript - 检查 block 可见性

    html - 在所有方向上偏移量为 0 的绝对位置

    html - 语义网是否使用 XML 而不是 HTML 或 JSON?

    javascript - 从后端到前端的日期时间值

    javascript - 更新多选查找列 REST