如果存在 class - jquery,则删除 Attr 并添加它

Delete Attr and add it if class exist - jquery

你好,这个小代码有问题:

$(".delayDiv").each(function(){
    var img_attr = $(this).attr('style');
    $(this).attr('style', '');
    if ($(".delayDiv").hasClass("visible")) {
        $(this).attr('style', img_attr);
    }
});

我想做的是:

DIV outsite the viewport: <div class="backImg"></div>

DIV inside the viewport: <div class="backImg visible"></div>

感谢您的帮助。

仅当元素没有 'visible' class.

时才删除样式
$(document).ready(function(){
    $(".delayDiv").each(function(){
        if (!$(".delayDiv").hasClass("visible")) {
            $(this).removeAttr('style', '');
        }
    }); 
})

您只需要一个 :not() 选择器和 removeAttr() 即可从所有没有可见 class[= 的主要 class 中删除样式13=]

$(".delayDiv:not(.visible)").removeAttr('style')