防止"jQuery(html)"触发浏览器请求图像和其他引用的内容

Chr*_*row 3 javascript jquery dom

使用jQuery从文本创建新的DOM元素.

例:

jQuery('<div><img src="/some_image.gif"></img></div>');
Run Code Online (Sandbox Code Playgroud)

执行此语句时,它会使浏览器从服务器请求文件'some_img.gif'.

有没有办法执行此语句,以便可以从DOM遍历中使用生成的jQuery对象,但实际上不会导致浏览器使用图像和其他引用内容的请求命中服务器?

例:

var jquery_elememnts = jQuery('<div><img class="a_class" src="/some_image.gif"></img></div>');
var img_class = jquery_elememnts.find('img').attr('class');
Run Code Online (Sandbox Code Playgroud)

我现在唯一的想法是使用正则表达式从图像元素中删除所有'src'标签以及在使用jQuery评估HTML之前触发浏览器请求的其他内容.

如何使用jQuery来评估HTML,而不会触发浏览器向服务器请求评估HTML中的引用内容?

谢谢!

小智 5

如果你采用正则表达式方式,也许就像一个简单的方式

    htmlString.replace(/[ ]src=/," data-src=");
Run Code Online (Sandbox Code Playgroud)

会做这个工作吗?

所以不要寻找:

    jquery_elememnts.find('img').attr('src');
Run Code Online (Sandbox Code Playgroud)

你必须寻找:

    jquery_elememnts.find('img').data('src');
Run Code Online (Sandbox Code Playgroud)