有没有办法防止在jQuery客观化的HTML片段中加载图像

时间:2013-04-02 09:13:02

标签: javascript jquery dom

我有一个HTML片段,我通过jQuery客观化,目的是从中提取一些数据。这个片段有一些我不希望浏览器下载的图像资源。有没有办法做到这一点。

我当前代码的简化版本:

var html = '<p class="data">Blah Blah</p>...<img src="/a/b/...png">...<div>...</div>';

var obj = $(html); // this makes the browser download the contained images as well!!!

var myData = {
    item_1: obj.find('.data:first').text(),
    item_2: obj.find('.data2:first').text(),
    .... // and so on..
};

1 个答案:

答案 0 :(得分:4)

除非您认为字符串中的子字符串src=的实例对您很重要,否则您可以这样做:

html = html.replace(/src=/g, "data-src=");

或可能

html = html.replace(/src\s*=/g, "data-src=");

...允许空格。这样,浏览器就不会看到src属性,也不会触发下载。

有时直接方法是最好的。当然,如果你认为可能有src=子串在你想要提取的东西方面很重要,那么......