jQuery用替换函数替换背景图像

时间:2013-02-03 04:10:30

标签: javascript jquery replace

如果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"));

2 个答案:

答案 0 :(得分:2)

为这些不同的背景定义类更好,只需添加和删除类,而不是这种脆弱的方式,但是,这里是如何完成的,

var backGroundImage = $('#someimg').css('background-image');
$('#someimg').css('background-image', backGroundImage.replace("_1","_2"));

答案 1 :(得分: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