7

我有一个 HTML 字符串,用作 jQuery 输入文档。

// the variable html contains the HTML code

jQuery( html ).find( 'p' ).each( function( index, element ) {
    // do stuff
});

虽然,我不断收到图像不存在的错误(在我的变量中html)。HTML 中的图像具有与我主机上的图像不对应的相对 URL,因此自然无法找到它们,因此我在控制台中收到 404 错误。

有没有一种 jQuery 方式来避免 jQuery 加载图像?如果没有,我将不得不查找所有图像并使用非 jQuery 替换 src,这有点令人难过,因为这正是 jQuery 派上用场的地方:p


编辑:

我会一步一步解释。

我有一个变量,html它包含来自另一个站点的一些 HTML 代码。我将该变量放在 jQuery 构造函数中,因为我想对该 HTML 执行操作。

jQuery( html );

此时我得到 404 错误,因为 HTML 源中的图像是相对的;它们与我在主机上的图像不对应。

  • 我不能使用 jQuery 删除 src 标签,因为我仍然得到错误
  • 编写一些 javascript 来修改 src 值是很愚蠢的;这就是我使用 jQuery 的原因

所以,再一次,我要问的是是否有一个设置或任何东西可以避免 jQuery 在提供的源中加载图像。

谢谢你。

4

2 回答 2

0

在您获得 html 之后 - 将 src 替换为其他内容()可能是您自己的图片 [全局 url]。(简单的字符串替换)

这将帮助您避免在控制台中出现 404 - not found 错误。

您也可以将 html 设为 jQuery - 并使用您的 SRC 设置所有 $("img") 或根据需要将其删除。

告诉我,如果那是你所追求的。

编辑

关于什么

$("img").removeAttr("src");

编辑2

    string html = @"
<h1>
<img src="" ... >
</img>
<img></img>-bad
<img/>-bad
<img src="" ... />
</h1>";
            string result = Regex.Replace(html, @"<img\s[^>]*/>", "", RegexOptions.IgnoreCase);
于 2012-05-15T11:45:08.813 回答
0

要停止图像加载,您需要在创建对象之前修改 html。jQuery( html )您也可以为此使用 jquery。

var newhtml = html.replace('src=','nosrc=');
jQuery( newhtml ).find( 'p' ).each( function( index, element ) {
    // do stuff
});
于 2012-05-15T12:08:13.593 回答