考虑以下小提琴:http://jsfiddle.net/rf4hV/
在那里我正在听img
的负载。加载图片后,我会得到event
,其中包含target
图像资源。
1)在不使用jquery加载器时是否有获取此资源的方法?我该怎么做?
2)我如何为the-div
background-image
获取相同的资源?基本上,我希望看到与问题1中的event.target
相同的属性。
答案 0 :(得分:1)
获取一个元素的bg图像并将其添加到另一个DOM节点的jQuery方法:
$(function() {
var bgimg = $("#the-div").css('background-image').replace(/url\(|\)/g,'');
$("img").attr('src',bgimg);
console.log($("img")[0]);
});
这将为您提供src
属性设置为#the-div
背景的DOM图像对象。
你也可以在没有jQuery的情况下做同样的事情,即使没有将img
元素添加到curent DOM树
var thediv = document.getElementById("the-div")
var img = new Image();
img.src = document.defaultView.getComputedStyle(thediv, null).getPropertyValue('background-image').replace(/url\(|\)/g,'');
console.log(img);
现在你有一个DOM对象,你可以访问它的属性。
我希望这就是你想要的。 如果不从该背景图像构造DOM对象,则无法将背景图像作为DOM对象访问,但这正是上述示例所做的。