在创建新的HTML元素时,如何防止不必要的资源加载?

时间:2016-11-10 04:19:10

标签: html

更新

最后,我想我是在问一个愚蠢的问题。 jQuery创建DOM元素,无论如何都会请求它。所以我认为最好使用.html(xxx)来实现该功能,而不是使用$()来创建任何内容。

这很棘手,我以前从未意识到这一点。但今天我意识到这对网络项目非常重要。

假设我有两个动态创建的图像:

var $img1 = $('<img>');
$img1.attr('src', 'http://domain.com/1.png');

var $img2 = $('<img>');
$img2.attr('src', 'http://domain.com/2.png');

浏览器运行上面的代码后,将会请求两个图像。这将浪费客户端和服务器端流量。

我是否可以控制何时发送资源请求?

我的期望是不要通过稍后分配src来实现,因为在我的情况下它会复杂得多,HTML代码包含很多东西而不是某些img标签。例如,是否可以告诉浏览器&#34;请等待img标记添加到DOM树上&#34;?

1 个答案:

答案 0 :(得分:-3)

在页面加载后将图像附加到DOM:

$(document).ready(function() {        
    // You could use whatever jQuery selector here you like to
    // determine where to append the new elements.
    // For this example, I am just appending to end of document.
    $(document).append($('<img src="http://domain.com/1.png>');
    $(document).append($('<img src="http://domain.com/2.png>');
});