我有以下代码:

$(".scrapImg").each(function(index, elem) {
    var scrapImgCount = $(this).find("img").length;
    if(scrapImgCount > 1) {
        $(".scrapImgItem").css("width", "50%");
        $(".scrapImgItem").css("height", "80px");
    }
    else {
        $(".scrapImgItem").css("width", "100%");
    }
});


我可以使用类'scrapImg'来获取div的子元素(.img)的数量,但是我的if ... else语句并不能真正起作用。看起来else语句未在执行,因为if语句返回true。我如何让这些if ... else语句在包含多个img元素的每个div上执行?

最佳答案

您使用了正确的参考来检查长度。您也应该使用相同的方法来设置CSS。
尝试这个:

$(".scrapImg").each(function(index, elem) {
var scrapImg = $(this).find("img");
if(scrapImg .length > 1) {
    $(scrapImg ).css("width", "50%");
    $(scrapImg ).css("height", "80px");
}
else {
    $(scrapImg ).css("width", "100%");
}});

关于jquery - jQuery使用if…else语句对每个父div的子元素进行计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23634439/

10-11 14:48