Javascript改变样式等于某种东西的风格

时间:2012-12-07 10:27:54

标签: javascript jquery css html5

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

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

但这显然会改变所有图像,因此它们有左边距和下边距。我怎样才能这样做,但只为具有float: right;属性的图像添加边距?

2 个答案:

答案 0 :(得分: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'
});

答案 1 :(得分:4)

尝试:

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