获取背景图片网址值

时间:2017-03-08 23:17:06

标签: javascript jquery html css mongodb

我正在尝试获取背景图像网址的值。 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

2 个答案:

答案 0 :(得分:3)

获取样式值,然后从中删除URL

var bi = $('a').css("background-image");
alert(bi.split(/"/)[1]);

对jQuery .css(“background-image”)的调用总是返回双引号内的URL,无论它是如何设置的。

示例小提琴: https://jsfiddle.net/6qk3ufcb/

答案 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
相关问题