(Jquery)从load[ed]() HTML元素样式中获取背景图像路径

(Jquery) Get background-image path from load[ed]() HTML element style

本文关键字:样式 获取 背景 路径 图像 元素 Jquery load ed HTML      更新时间:2023-09-26

我正在制作公司的网页。这是我的第一个严肃的网页,每一行都有很多疑问。现在我正在做一个新闻加载系统,我有一个无法解决的问题:

我正在加载我的新闻与jquery加载,附加元素到先前定义的变量:

var newArticle = $('<a href="'+path + i +'.html"><div id="news-article"></div></a>');
var newArticleChild = newArticle.children(); //'cause i want to load articles inside #news-article, not <a></a>
var image = $('<div></div>');
var title = $("<div></div>");
var tag = $("<div></div>");
$(image).load(path + i + ".html #main-image");
$(title).load(path + i + ".html h1");
$(tag).load(path + i + ".html #tag");       
$("#news").append(newArticle); //Apend articles parent to an existing page element
newArticleChild.append(image);
newArticleChild.append(title);
newArticleChild.append(tag);
HTML --------------
<div id="main-image" style="background-image: url(../../assets/images/NewsBackgroundTry.png);
"></div>

我真的不喜欢这个,因为它创建了一个空div,里面有另一个div,但这本身并不是一个错误。

我真的不需要将图像附加到我的页面,因为我想要的是它的样式,它包含css中图像的路径。我这样做是因为我需要应用background-size: cover;样式。

我的问题是,我如何从图像变量获得背景图像样式?我试过很多东西,看了很多帖子,因为我发现它,但我不能得到这个值…

如果解决方案可以防止添加图像到页面,那就更好了。

谢谢大家,Abel!

您可以使用var bgImg = image.css('background-image');来获取css属性,然后replace使用令人讨厌的url(")部分来获取图像路径。