Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 $.get()加载的图像不';不显示_Javascript_Jquery_Html_Image - Fatal编程技术网

Javascript $.get()加载的图像不';不显示

Javascript $.get()加载的图像不';不显示,javascript,jquery,html,image,Javascript,Jquery,Html,Image,我在一个html组件的div中有一个图像,另一个文档使用以下代码加载该图像: $.get("injections.html", function(data) { if ($('#header').length) { $("#header").replaceWith(data.getElementById("header")) } }); 它可以很好地加载文本,但是当它加载图像时,它们会显示在页面检查中,而不是页面本身。有人知道为什么吗?jQuery的$.get和$.post(以

我在一个html组件的div中有一个图像,另一个文档使用以下代码加载该图像:

$.get("injections.html", function(data) {
  if ($('#header').length) {
    $("#header").replaceWith(data.getElementById("header"))
  }
});
它可以很好地加载文本,但是当它加载图像时,它们会显示在页面检查中,而不是页面本身。有人知道为什么吗?

jQuery的$.get和$.post(以及$.ajax)中的成功回调函数将接收一个字符串作为参数

String.getElementById未定义。由于您已经在使用jQuery,您可以尝试以下操作:

 $("#header").replaceWith($(data).find("#header"));
编辑


回调接收到的(第一个)参数实际上是一个Javascript对象(或者jQuery定义为“PlainObject”)。

看起来像是一个字符串,字符串不支持
.getElementById()
API(因为它没有真正意义)。您可以将字符串放入一个隐藏的
或实际上是DOM一部分的东西中,然后按id查找
。对我来说似乎很奇怪,因为它在html中显示得很好。我是Jquery新手,您能解释一下怎么做吗?@Pointy可以将字符串包装在
$()
中并进行操作,而无需将其放在DOM中also@charlietfl是的,这也是可能的(可能更容易:)它仍然不工作。脚本应该与html位于同一目录中吗?它仍然不起作用。不,那没用。你试过调试脚本吗?更具体地说,在成功回调中放置断点。如果它没有到达那里,可能您没有指向正确的路径(对于“injections.html”)。如果你100%确定这是可行的(并且HTML显示在inspector中),那么可能是图像的src不正确。图像元素显示在page inspector中,但Firefox表示无法加载它。另一个完全相同的图像副本,没有被注入显示。你能显示一些你的HTML吗?注射前和注射后,也许我可以给你进一步的帮助。