1

如果 img 在 background 属性中而不是 src 中,如何执行以下操作?

this.src = this.src.replace("_1","_2");

CSS:

#someimg {  
    background:url('someimg_1.jpg');
}

就像是:

$('#someimg').css.('background-image',
    $(this).css('background-image').replace("_1","_2"));
4

2 回答 2

2

为这些不同的背景定义类并添加和删除类要好得多,而不是这种脆弱的做法,但是,这是可以做到的,

var backGroundImage = $('#someimg').css('background-image');
$('#someimg').css('background-image', backGroundImage.replace("_1","_2"));
于 2013-02-03T04:13:29.043 回答
0

LIVE DEMO

var src2 = $('#someimg').attr('src').replace('_1', '_2');
$('#someimg').attr( 'src', src2 );

或者,如果您愿意,可以这样做:

var $omeimg = $('#someimg');
$omeimg.attr('src', $omeimg.attr('src').replace('_1', '_2') );

这与您所做的最相似,只是在您的示例中,您有 2 个小错误:

$('#someimg').css.('background-image',  $(this).css('background-image').replace("_1","_2"));
//               ^---- this dot         ^^^^^^^---- and this undefined
于 2013-02-03T04:13:51.180 回答