DIV元素相对HTML内容

时间:2015-09-29 12:25:14

标签: javascript jquery html

我正在使用jQuery加载外部HTML文件的内容并将内容设置为DIV元素。 HTML在DIV中正确呈现,但是图像的任何相对URL都不会加载 - 因为它们与HTML文件位置相关,所以可以理解。

确保所有相关内容也被加载的最佳方法是什么? 我可以使用JavaScript动态地将所有相对URL更改为绝对URL,但有更简单的方法来实现这个或更优选的方法吗?

1 个答案:

答案 0 :(得分:0)

您需要将相对URL更改为静态/相对于您正在加载文件的当前HTML页面。请考虑以下示例,假设您正在加载名为page1.html的html:

$.get('html/pages/page1.html', {}, function(data, status, xhr) {
    var updatedData = data.replace(/\.\.\/(images|css|js)+/g, "http://www.mywebsite.com/html/$1");
    $('#content').html(updatedData);
});

这不是最好的编程实践,因为它不是那么灵活(在这种类型的上下文中从相对到绝对是依赖于一些正常工作的因素)应该如此,但它会起作用