Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/480.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中加载带有src的img对象_Javascript_Api_Getelementbyid_Getjson_Src - Fatal编程技术网

在javascript中加载带有src的img对象

在javascript中加载带有src的img对象,javascript,api,getelementbyid,getjson,src,Javascript,Api,Getelementbyid,Getjson,Src,我想在网页上为一本书的详细信息添加一个缩略图片,该图片来源于GoogleBooksAPI。下面的代码将把相应书籍的源代码(api)放在文本字段bookCover中,然后放在var copyPic中,然后应该将其复制到imgDisp中,但事实并非如此。我可以看到书皮上的文字是正确的,而且我已经检查过复印件上的内容是正确的 <img id="imgDisp" src="http://books.google.com/books/content? id=YIx0n

我想在网页上为一本书的详细信息添加一个缩略图片,该图片来源于GoogleBooksAPI。下面的代码将把相应书籍的源代码(api)放在文本字段bookCover中,然后放在var copyPic中,然后应该将其复制到imgDisp中,但事实并非如此。我可以看到书皮上的文字是正确的,而且我已经检查过复印件上的内容是正确的

<img id="imgDisp" src="http://books.google.com/books/content? 
id=YIx0ngEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api" width="85" height="110"" />

$.getJSON(googleAPI, function(response) {
    $("#title").html(response.items[0].volumeInfo.title);
    $("#subtitle").html(response.items[0].volumeInfo.subtitle);
    $("#author").html(response.items[0].volumeInfo.authors[0]);
    $("#description").html(response.items[0].volumeInfo.description);
    $("#version").html(response.items[0].volumeInfo.contentVersion);
    $("#modeR").html(response.items[0].volumeInfo.readingModes.text);
    $("#bookCover").html(response.items[0].volumeInfo.imageLinks.thumbnail);

    var copyPic = document.getElementById('bookCover').innerHTML;
    document.getElementById("imgDisp").src=copyPic;

但是不带变量。

没有更多信息-例如,我看不到getJSON()函数的结尾或URL是什么,我看不到问题可能是什么(也许,除了我上次的评论)

我的想法似乎还可以,因为我可以复制它(当然是精简版):

函数copyImageSource(){
设d=document.getElementById(“bookCover”).innerHTML;
document.getElementById(“imgDisp”).src=d;
}
获取图像
https://duckduckgo.com/assets/icons/meta/DDG-icon_256x256.png

如果您有jQuery,您可以轻松地执行以下操作:

let source = 'https://img.com/image.png';

//to get the image object that has the above just do this:
let img = $('img[src="' + source + '"]');

通过查看代码上的格式颜色,我可以看到有一个备用
在IMG标记的末尾-尝试先删除该标记。完全正确。由于我四处走动,但经过纠正后,仍然存在同样的问题。我挖这个洞已经有一段时间了,现在我在尝试不同的东西。如果你在img对象中以src开头,它将被替换,但只能被一个空图像替换。如果没有url,很难看到它。我唯一的想法是复制/粘贴代码应该在getJSON()函数之外,以防浏览器尚未完全更新“bookCover”元素?对不起,我应该在这之前包含代码:$(“表单”).submit(函数(e){e.preventDefault();var isbn=$('#isbn').val();var isbn_不带_连字符=isbn.替换(/-/g,”);var googleAPI=“”+不带连字符的isbn_;一些示例isbn将是9780692306611、9781785780202、9781523978717np-只要这段代码是您试图实现的,我的第一个想法是关于时间的-即,在请求复制/粘贴时,浏览器可能没有呈现bookCover元素的HTML。因此,将这部分代码移到下面否则,我唯一能想到的另一件事是,大多数情况下您都使用了jquery,但复制/粘贴时使用的是香草javascript——您也可以尝试将这两行代码更改为jquery版本。我花了一段时间将其设置为包含您的代码的精简版本,但它仍然可以不起作用。它只是将现有图像更改为空白。我刚刚看到您添加了注释,所以我现在就尝试这些想法。谢谢,或者,您在代码中输入的一个id与实际的html元素无关,因此,代码在该点中断?空白-或“无图像”默认图标?哇!你是怎么发现的?我很惊讶。但是,我很难理解我必须做什么。问题是我正在使用的行中有“&”-例如“”-有4个符号。所以我需要包装$('img…围绕源代码行编码并复制它。是这样吗?我现在正试图编码这是非常基本的jQuery代码,不,不用担心符号,只需替换源代码中的内容..然后替换console.log(img)在我给你的最后一行之后,看看你得到了什么。我现在太累了-我想我得去睡觉了。我想我知道我需要做什么。但是我必须在测试之前修改我的代码-而不是把事情搞得一团糟,我明天就得继续。非常感谢你的帮助。干杯-非常重要。试试这个…,看我能不能提醒你类或做任何我想用它做的事情,只需通过它的src内容抓取一个img
let source = 'https://img.com/image.png';

//to get the image object that has the above just do this:
let img = $('img[src="' + source + '"]');