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