2016-12-29 52 views
0

我在没有添加到实际页面的DOM树的DOM元素上使用jQuery,也不会将某些HTML呈现为字符串。DOM的img节点与src没有加载图像

小例子,仅仅是评估:

$('<div><img src="foo.png"></div>').html() 

不幸的是,这将导致浏览器尝试加载图像。

我该如何预防?

这是在Chrome应用程序的上下文中,因此可以使用特定于Chrome的解决方案。

在我的用例中,简单地避免DOM元素不是一个选项:在实际的代码中,现有的模板机制使用DOM元素和jQuery来组装输出。同样,我不能简单地用data-src代替src

+0

这是哪里的标记是从哪里来的?你说有一个模板,但它是如何得到应用的? – Archer

+0

可能重复的[防止图像加载](http://stackoverflow.com/questions/1667868/prevent-images-from-loading) –

+0

任何你不希望它加载图像的原因?你永远不想加载它,还是你想告诉它何时必须加载? –

回答

1

可以使用的DOMParser

var parser = new DOMParser(); 
var doc = parser.parseFromString('<div><img src="foo4.png"></div>', 'text/html'); 

的HTML是doc.body.innerHTML如果你需要用它做什么

+0

或只是一个文件片段 – Kaiido

+0

@Kaiido - 你试过一个DocumentFragment吗? –

+0

这对我不起作用,因为诱人的代码坚持使用jQuery来组合输出的不同部分。 –

相关问题