Javascript 选择jquerybycss属性

Javascript 选择jquerybycss属性,javascript,jquery,Javascript,Jquery,我试图通过CSS选择一个图像,该图像通过CMS自动应用于该图像,然后添加一个类。这是我的剧本: $(document).ready(function() { if ($('.pageBody p img').css('float') === 'right') { $('.pageBody p img').addClass('float-right'); } }); 对于应用了float:right的图像,该脚本可以正常工作。另一个图像应用了float:left。

我试图通过CSS选择一个图像,该图像通过CMS自动应用于该图像,然后添加一个类。这是我的剧本:

$(document).ready(function() {
    if ($('.pageBody p img').css('float') === 'right') {
        $('.pageBody p img').addClass('float-right');
    }
});
对于应用了
float:right
的图像,该脚本可以正常工作。另一个图像应用了
float:left
。问题是,如果我在脚本中从“右”切换到“左”,它将无法工作。例如,如果我将图像设置为
float:left
,并使用此脚本,则该脚本不起作用:

$(document).ready(function() {
    if ($('.pageBody p img').css('float') === 'left') {
        $('.pageBody p img').addClass('float-left');
    }
});

只有当您感兴趣的图像是文档中的第一个图像时,您当前的代码才会起作用。无论图像在DOM中的位置如何,都可以使用来定位该图像:

$(document).ready(function() {
    $(".pageBody p img").filter(function() {
        return $(this).css("float") == "left";
    }).addClass("float-left");
});
或者,您可以使用采用函数的形式向所有图像添加
float left
float right
类,具体取决于其
float
样式的值:

$(document).ready(function() {
    $(".pageBody p img").addClass(function() {
        var direction = $(this).css("float");
        if (direction == "left" || direction == "right") {
            return "float-" + direction;
        } else {
            return "";
        }
    });
});

如果它使用的是
right
,而不是
left
,您确定它确实应用了该样式吗。标记中的另一个图像是否将pageBody类包装在p标记中?您可以通过执行类似
console.log($('.pageBody p img').CSS('float'))的操作打印CSS值吗,它应该能给你足够的信息。太棒了。谢谢你的帮助。我在七分钟内不能接受你的答案,但我会尽快接受。或者,我会用每一个答案来回答:
return($(this.css(“float”)==“left”| |$(this.css(“float”)==“right”)})。每个(函数(){$(this.addClass(“float-”+$(this.css(“float”);})好答案顺便说一句