1

我正在尝试在图像上添加一些样式属性,但前提是它已经包含另一个属性。我或多或少地弄清楚如何使用以下方法做到这一点:

if ($('#content p img').css('float') == 'right')
    $('#content p img').css('margin-left', '20px').css('margin-bottom', '20px');

但这显然会改变所有图像,因此它们的左侧和底部都有边距。我该如何做同样的事情,但只为具有该float: right;属性的图像添加边距?

4

2 回答 2

5

使用filter

$('#content p img').filter(function() {
    return this.style.float === "right";
}).css('margin-left', '20px').css('margin-bottom', '20px');

如果您愿意,您可以只调用css一次,传入一组更改以进行:

$('#content p img').filter(function() {
    return this.style.float === "right";
}).css({
    'margin-left':   '20px',
    'margin-bottom': '20px'
});
于 2012-12-07T10:30:28.123 回答
4

尝试:

$('#content p img').each(function(){
    if($(this).css('float') == 'right') 
        $(this).css('margin-left', '20px').css('margin-bottom', '20px');
})
于 2012-12-07T10:30:37.530 回答