Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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
Jquery 浏览器不会加载这些动态插入的图像_Jquery_Ajax_Image_Dom_Cross Domain - Fatal编程技术网

Jquery 浏览器不会加载这些动态插入的图像

Jquery 浏览器不会加载这些动态插入的图像,jquery,ajax,image,dom,cross-domain,Jquery,Ajax,Image,Dom,Cross Domain,我正在使用Wolfram | Alpha API,通过代理在AJAX上获取XML文件,它工作得非常出色。然后,我使用find在该XML文件中查找一些pod元素。这些豆荚包含我想嵌入到我的页面中的图像。到目前为止,一切顺利。我从文件中获取了这些图像,并找到了如何将它们附加到容器中的方法。这就是我遇到的一个障碍:图像没有出现。当我检查时,它们在那里,但它们不装载 以下是我的JavaScript代码: $.get(queryURL, function (data) { var wapods =

我正在使用Wolfram | Alpha API,通过代理在AJAX上获取XML文件,它工作得非常出色。然后,我使用find在该XML文件中查找一些pod元素。这些豆荚包含我想嵌入到我的页面中的图像。到目前为止,一切顺利。我从文件中获取了这些图像,并找到了如何将它们附加到容器中的方法。这就是我遇到的一个障碍:图像没有出现。当我检查时,它们在那里,但它们不装载

以下是我的JavaScript代码:

$.get(queryURL, function (data) {
    var wapods = $(data).find("pod");
    if (wapods.length !== 0) {
        $("#container").html('<div id="wabox"><a href="http://www.wolframalpha.com/input/?i=' + query + '" title="Wolfram|Alpha results for: ' + readQuery + '"><img id="walogo" src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/16/Wolfram_Alpha_logo.svg/200px-Wolfram_Alpha_logo.svg.png" width="150" height="18" alt="Wolfram|Alpha"/></a></div>');
        $("#wabox").append($(wapods[0]).find("img")[0])
        .append($(wapods[1]).find("img")[0]);
    }
});
创建元素时包含的图像将按预期显示。其他两个图像没有。在Firefox中检查时,检查者说无法加载图像。这也发生在铬中。这不是由于插件;它也出现在一个新的配置文件中

我的最佳猜测是从XML文件中包含元素到将其插入HTMLDOM的转换,但我不知道

编辑:如果我右键单击并在inspector中选择Edit as HTML,更改一件事,然后退出编辑器,则会显示图像。还是不知道为什么


我认为你走错了方向。元素不能仅仅从XML文档移动到HTML文档

尝试获取元素的html代码,如图所示,并附加:

function getHTML(el) {
  return $('<div>').append(el.clone()).html();
}

$("#wabox").append(getHTML($(wapods[0]).find("img").first()))
  .append(getHTML($(wapods[1]).find("img").first()));

谢谢你,这正是我需要的。为什么使用.first而不是[0]?还有,你为什么不能只移动一个元素?@Ian:我先使用,这样元素仍然包装在jQuery对象中,这样你就可以在它上使用克隆。创建元素时,它将文档作为所有者,请参见,并且它不能更改所有者。好的,谢谢。我以前读过关于业主的书,但直到现在才完全理解。