在javascript中加载带有src的img对象
我想在网页上为一本书的详细信息添加一个缩略图片,该图片来源于GoogleBooksAPI。下面的代码将把相应书籍的源代码(api)放在文本字段bookCover中,然后放在var copyPic中,然后应该将其复制到imgDisp中,但事实并非如此。我可以看到书皮上的文字是正确的,而且我已经检查过复印件上的内容是正确的在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
<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 + '"]');