Javascript 如何从样式属性获取图像url
我有Javascript 如何从样式属性获取图像url,javascript,jquery,node.js,Javascript,Jquery,Node.js,我有htmlDOM像这样我想抓取图像url <img src="constant/spacer.gif" style="background-image:url(https://example1.com/image/image1.png);" class="images-thumb"> <img src="constant/spacer.gif" style="background-image:url(https://example2.com/image/image
html
DOM
像这样我想抓取图像url
<img src="constant/spacer.gif" style="background-image:url(https://example1.com/image/image1.png);" class="images-thumb">
<img src="constant/spacer.gif" style="background-image:url(https://example2.com/image/image1.png);" class="images-thumb">
您可以执行以下操作:
url=url.replace(/^url\([“]”?/,“”)。replace(/[“]”?\)$/,“”)代码>
这将删除字符串开头的url('
和url(“
”)和结尾的)
arr = [];
$('.images-thumb').each(function(){
var $style = $(this).attr('style');
var $url = $style.replace(/^background-image:url\(["']?/, '').replace(/["']?\)$/, '').replace(/\)/, '');
arr.push($url); // further know you know :-P
});
console.log(arr);
你可以简单地使用
var images = document.querySelectorAll('.images-thumb');
var image, arr=[];
for(var i=0; i<images.length;i++){
image = window.getComputedStyle(images[i]).backgroundImage;
arr.push(image.substr(5, image.length-7));
}
console.log(arr);
var-images=document.querySelectorAll('.images-thumb');
var-image,arr=[];
对于(var i=0;i将不需要的文本替换为空字符串“”:
示例代码段:
arr=[];
$('.images-thumb')。每个(函数(){
arr.push($(this.css(“背景图像”).replace(“url(\”,“”)。replace(\”,“”));
});
console.log(arr);
您可以使用JQuerycss(“背景图像”)
选择器和正则表达式来获得所需的结果
arr=[];
$('.images-thumb')。每个(函数(){
arr.push($(this.css(“背景图像”).replace(/.*\s?url\([\'\'”]?/,'').replace(/[\'\'”]?\)./,'');
});
console.log(arr);
你可以在src属性中给出图像的来源为什么要用它作为背景?我是为客户端做的,所以我不能改变DOM的结构
@DilipG我已经发布了一个答案,我已经测试了它,它可以工作。只要给它一个try@DilipG你能接受最合适的答案并将其标记为关闭吗?它正在工作,但我得到了这个答案de>)
您是否可以删除和更新不符合OP要求的内容。您的代码只返回“url(”https://example1.com/image/image1.png“
@shivgre现已更新。它只需要提取子字符串。
var images = document.querySelectorAll('.images-thumb');
var image, arr=[];
for(var i=0; i<images.length;i++){
image = window.getComputedStyle(images[i]).backgroundImage;
arr.push(image.substr(5, image.length-7));
}
console.log(arr);