我正在尝试获取背景图像网址的值。 url直接在元素标记中内嵌设置,其样式属性如此
<a style="background-image: url(https:// ....)"></a>
我试过
var url = $(this).css('background-image')
有各种正则表达但它似乎不起作用。我试图将此URL存储到MongoDB中,但是我收到此错误
var styles = parse(el.attribs.style);
TypeError: Cannot read property 'attribs' of undefined
答案 0 :(得分:3)
获取样式值,然后从中删除URL
var bi = $('a').css("background-image");
alert(bi.split(/"/)[1]);
对jQuery .css(“background-image”)的调用总是返回双引号内的URL,无论它是如何设置的。
答案 1 :(得分:0)
在香草JS中,具有完全的DOM访问权限,可以这样做:
document.querySelector('a').style.backgroundImage.split('"')[1]
或者,如果由于某种原因您没有DOM访问权限(例如,处理节点并在某些简化的HTML解析器上运行),也可以使用regexp来完成:
const htmlString = `<div class="bg-div" style="background-image: url('https://loremipsum.com/imageIpsum.jpg');">`
const reg = /url.'([\w\W]+?)'/;
const searched = reg.exec(htmlString)
console.log(searched[1]) //=> https://loremipsum.com/imageIpsum.jpg