Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 避免jQuery(预)加载图像_Javascript_Jquery - Fatal编程技术网

Javascript 避免jQuery(预)加载图像

Javascript 避免jQuery(预)加载图像,javascript,jquery,Javascript,Jquery,我有一个HTML字符串,用作jQuery输入文档 // the variable html contains the HTML code jQuery( html ).find( 'p' ).each( function( index, element ) { // do stuff }); 尽管如此,我还是不断地发现图像不存在的错误(在我的变量html中)。HTML中的图像有相对URL,它与主机上的图像不对应,所以很自然,它们找不到,所以我的控制台中出现404个错误 有没有一种jQ

我有一个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将图像加载到提供的源中。


谢谢。

在您获得html后,请立即将src替换为其他内容(),或者替换为您自己的图片[全局url]。(简单字符串替换)

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

此外,您还可以将html设置为jQuery,并使用SRC设置所有$(“img”),或者如果需要,将其删除

告诉我这是不是你想要的

编辑 那怎么办

$("img").removeAttr("src");
编辑2
stringhtml=@”
";
字符串结果=Regex.Replace(html,@“]*/>,“”,RegexOptions.IgnoreCase);

要停止加载图像,您需要在创建
jQuery(html)
对象之前修改html。您也可以使用jquery来实现这一点

var newhtml = html.replace('src=','nosrc=');
jQuery( newhtml ).find( 'p' ).each( function( index, element ) {
    // do stuff
});

我想你不明白我的问题。jQuery正在加载它在输入的源代码中找到的图像,因此我得到404个错误。我想问的是,是否有一种jQuery方法可以防止jQuery加载图像。正如我所说,你必须编辑html。jquery不能只是做一个开关来阻止img加载src。当我将HTML代码放入jquery构造函数时,jquery似乎验证了所有图像。这就是我得到错误的地方,所以我不能使用jQuery删除属性,因为到那时图像已经被验证并返回404。如果我必须编辑HTML,我就必须使用javascript,这很愚蠢,因为jQuery就是用于编辑HTML的。因此,我再次询问是否有jQuery方法或设置阻止jQuery加载所提供HTML代码的图像。好的,所以不要将其放入jQuery构造函数中-将其视为字符串。见我的编辑,我理解你。在创建新的jquery对象之前,需要替换文档中的src。在我的回答中使用ckeck代码我想没有办法简单地告诉jQuery不要加载图像了吧?
var newhtml = html.replace('src=','nosrc=');
jQuery( newhtml ).find( 'p' ).each( function( index, element ) {
    // do stuff
});