<div class="img" style="background-image:url(http://pic14.nipic.com/20110522/7411759_164157418126_2.jpg)">
</div>
<img src="" class="loimg"/>
我想把img
里的图片放到loimg
里,有什么办法?
1.字符串截取:
$("div").click(function() {
var bg = $(this).css('background-image');
bg = bg.replace('url(','').replace(')','');
alert(bg);
});
2.正则:
$("div").click(function() {
var bg = $(this).css('background-image');
bg = /^url\((['"]?)(.*)\1\)$/.exec(bg);
bg = bg ? bg[2] : "";
alert(bg);
});
几种办法。
字符串截取。 不足:可能class的名字会变
正则。
js取值。
js取值就是先取img的样式,然后也是截取。
个人觉得正则更好,但是不会写,等大牛写吧。
var bgimg = $('.img').css('background-image');
var src = bgimg.split('"');
$('.loimg').attr('src',src[1])
var a = $(".img").css('background-image');
var b = a.substr(4,a.length-5);//http://pic14.nipic.com/20110522/7411759_164157418126_2.jpg
$('.loimg').prop('src',b);
新手,不知道这个能不能满足。
var oBox=document.getElementsByClassName("img")[0];
var oImg=document.getElementsByTagName("img")[0];
var reg=/http:\/{2}.*\.(jpg|png|gif)/g;
oImg.src=oBox.style.cssText.match(reg)[0];
这样就可以直接拿到图片的地址了。
该正则在针对单张图片地址不会有什么问题,
但是遇到如下字符串的时候
*http://pic14.nipic.com/20110522/7411759_164157418126_2.png*fjaoijfdodlfakjflkjdalkfj210304835/123.sfajiotjqjalf*http://pic14.nipic.com/20110522/7411759_164157418126_2.gif*
就会提取整个字符串。而不是将.gif和.png的图片地址分别提出来。