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

例:

jQuery('<div><img src="/some_image.gif"></img></div>');

执行此语句后,它会导致浏览器从服务器请求文件“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');

我现在唯一的想法是使用正则表达式从图像元素和所有其他将触发浏览器请求的东西中删除“src”标签,然后再使用jQuery评估HTML。

jQuery如何在不触发浏览器向服务器请求所评估HTML内的引用内容的情况下评估HTML?

谢谢!

最佳答案

如果您使用regexp方式,也许是一个简单的

    htmlString.replace(/[ ]src=/," data-src=");

会做这份工作吗?

因此,与其寻找:
    jquery_elememnts.find('img').attr('src');

您将需要寻找:
    jquery_elememnts.find('img').data('src');

10-07 21:49