如何使用jQuery设置图像的src

我正在尝试使用jQuery来更改图像的src属性

jQuery("#imageID").attr('src','http://localhost:8080http://img.dovov.com1/myImage.png' ); 

使用上面的代码,我可以改变src属性,但是当我尝试这个: –

 jQuery("#imageID").attr('src',jQuery("#imageBlock").css('background-image') ); 

我无法更改src。

提供

 alert ( jQuery("#imageBlock").css('background-image') ); 

收益:

url( http:// localhost:8080 / images / 1 / myImage.png )

编辑#1正当我即将接受解决scheme。 我必须说,几乎所有的解决scheme在FF工作。 我试过了:

  • 片(4,-1);
  • split(“(”)[1]> then replace(“)”,“”);

我想其他人也会工作。 但是没有一个解决scheme在IE中工作。 原因是:FF返回时:

url( http:// localhost:8080 / images / 1 / myImage.png )

IE返回:

url(“ http:// localhost:8080 / images / 1 / myImage.png ”)

^^介意在这里引用

现在,有什么可以通用的方式来设置src attr。 我是否需要testing浏览器,如果它是IE浏览器?

这是工作代码。

 var src = ""; if ( jQuery.browser.msie ) { src = jQuery("#imageBlock").css('background-image').slice(5,-2); }else{ src = jQuery("#imageBlock").css('background-image').slice(4,-1); } jQuery("#imageID").attr('src', src ); 

我真的不喜欢它:x。 如果还有其他解决scheme,请告诉我,否则我会立即接受slice解决scheme。

国际海事组织, slicesubstringreplace更合适。 尝试这个:

 jQuery("#imageID").attr( 'src', jQuery("#imageBlock").css('background-image').slice(4,-1) ); 

在这里,你正在切割url()之间的string。 有关该方法的详细说明,请参阅片上的MDC。

您需要提取url部分:

 var backgroundImage = $("#imageBlock") .css('backgroundImage') .replace(/"/g,"") .replace(/url\(|\)$/ig, ""); jQuery("#imageID").attr('src', backgroundImage); 

这是因为url()string缠绕在它周围。 您需要从string中去除它,例如使用replace函数…

 var bgimg = jQuery("#imageBlock").css('background-image').replace('url(', ''); bgimg.replace(')', ''); 

你需要去掉url(和closures)部分才能工作。

所以url(http://localhost:8080http://img.dovov.com1/myImage.png)

http://localhost:8080http://img.dovov.com1/myImage.png

你可以做一个子string,正则expression式replace或你select的任何方法。

http://www.w3schools.com/jsref/jsref_replace.asp

也许:

jQuery("#imageID").attr('src',jQuery("#imageBlock").css('background-image').replace('url(','').replace(')','') )