【发布时间】:2016-12-29 10:35:13
【问题描述】:
我在未添加到实际页面的 DOM 树中的 DOM 元素上使用 jQuery 来呈现一些 HTML 并将其作为字符串获取。
最小的例子只是评估:
$('<div><img src="foo.png"></div>').html()
不幸的是,这会导致浏览器尝试加载图像。
如何防止这种情况发生?
这是在 Chrome 应用程序的上下文中,因此特定于 chrome 的解决方案是可以接受的。
在我的用例中,简单地避免使用 DOM 元素不是一种选择:在实际代码中,现有的模板机制使用 DOM 元素和 jQuery 来组装输出。同样,我不能简单地将src 替换为data-src。
【问题讨论】:
-
这个标记来自哪里?你说有一个模板,但它是如何应用的?
-
您不希望它加载图像的任何原因?您是不想加载它,还是想告诉它何时必须加载?
-
@darryn.ten,我正在创建 Web 应用程序输出的(部分)静态副本,用于存档目的。所以浏览器永远看不到它。此外,URL 无论如何都是无效的。
-
那么为什么不将其输出为转义/引用的字符串而不是有效的 dom 元素呢?
标签: javascript jquery html dom