2013-02-03 55 views
1

如果img位于后台属性而不是src,如何执行以下操作?jQuery替换带替换函数的背景图片

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

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

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

谢谢你这个作品完美=] - 不知道你m关于这些课程,有潜在的100图像改变,在我的情况下,类可能不实际.. – bushdiver

+0

如果你有100张图像,那么我想你做的很好!很高兴我能帮助:) –

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