Javascript this.id无法检测在href中单击的链接

Javascript this.id无法检测在href中单击的链接,javascript,Javascript,我是javascript新手,我正在使用GoogleAPI创建一个书店。我有一个小问题,我想不出来。在下面我从google api书店函数的示例代码中看到的一段代码中,我试图为书的标题创建href,并将其自链接传递到目标页面,即book-description.html 当我将alert(this.id)放在onclick上时,它可以工作,但是对于一个普通的方法get(this),它不工作。我不需要alertbox,我想获取href中单击的链接的id并将其传递给另一个html handleRes

我是javascript新手,我正在使用GoogleAPI创建一个书店。我有一个小问题,我想不出来。在下面我从google api书店函数的示例代码中看到的一段代码中,我试图为书的标题创建href,并将其自链接传递到目标页面,即book-description.html

当我将alert(this.id)放在onclick上时,它可以工作,但是对于一个普通的方法get(this),它不工作。我不需要alertbox,我想获取href中单击的链接的id并将其传递给另一个html

handleResponse(响应){
对于(var i=0;i”+”
“+”
“+”; document.getElementById(“内容”).innerHTML++=“”; 函数get(e){ var-link=e.id; setItem(“Link”,Link); } document.getElementById(“内容”).innerHTML++=“作者”:“+item.volumeInfo.authors+”; document.getElementById(“内容”).innerHTML++=“发布者”:“+item.volumeInfo.PUBLISHER+”; var评级=item.volumeInfo.averageRating; 如果(评级){ document.getElementById(“内容”).innerHTML+=“评级+”; }否则{ document.getElementById(“内容”).innerHTML+=“尚未评级”; } //document.getElementById(“内容”).innerHTML++=“
”+”
“+”
“+”+item.volumeInfo.publisheddate; } }
您的代码有很多问题,但具体是在回答您的问题时;函数
get
的作用域已确定,因此它仅在函数
handleResponse
中可用。若要从单击的
onclick
中访问它,它必须在页面范围内

只需移动这个

function get(e) {
  var link = e.id;
  localStorage.setItem("Link", link);
}
进入页面的页眉


在编程中,有干燥的概念(不要重复自己)。因此,存储对
document.getElementById(“content”)
的引用并重用该变量

var content = document.getElementById("content");
content.innerHTML = ...

输出html中缺少一些空格。这可能在某些浏览器中起作用,而其他浏览器则很难做到

<a href = 'book-description.html'id=
应该是

document.getElementById("content").innerHTML += "</br></br>";
document.getElementById(“内容”).innerHTML+=“

”;
当我看到的都是好的ol'vanilla js时,这有什么关系?尝试从
localStorage
读取值的代码在哪里?也许这就是问题所在。(还有,为什么要在for循环中定义
函数get()
)欢迎使用SO。请访问,创建一个具有足够HTML的,以查看如何分配handler@mplungjan虽然您的评论很贴切,但就是这样(
“onclick='get(this);”>“
)我没有滚动查看它-我现在重新格式化以显示它。无论如何-我们需要一个JSON文件在一个代码段中-但是现在我注意到了范围。并将引用保存到content@mplungjan-不知道那句话是什么意思?这是给我的还是给OP的?都是:)最好只有一个
var content=document.getElementById(“content”)
,我相信你知道啊,现在我明白了。你在说干!
document.getElementById("content").innerHTML += "</br>" + "</br>";
document.getElementById("content").innerHTML += "</br></br>";