我有一串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加载提供的源中的图像。
谢谢。
答案 0 :(得分:0)
在你获得html之后 - 将src替换为其他东西()可能是你自己的图片[global url]。 (简单的字符串替换)
这将帮助您不要在控制台中找到404 - 未找到错误。
你也可以将html设为jQuery - 并将所有$(“img”)设置为你的SRC,或者如你所愿将其删除。
告诉我,如果你追求的是什么。
怎么样
$("img").removeAttr("src");
string html = @"
<h1>
<img src="" ... >
</img>
<img></img>-bad
<img/>-bad
<img src="" ... />
</h1>";
string result = Regex.Replace(html, @"<img\s[^>]*/>", "", RegexOptions.IgnoreCase);
答案 1 :(得分:0)
要停止加载图片,您需要在创建jQuery( html )
对象之前修改html 。您也可以使用jquery。
var newhtml = html.replace('src=','nosrc=');
jQuery( newhtml ).find( 'p' ).each( function( index, element ) {
// do stuff
});