问题
Hi guys I trying to make when a href in innerHTML but I got error or it dint working. I want to make a data from API can be click instead copy and put it into browser. When i tried the code It will become +item.title instead go to the link that i get data from My API
<html>
<head>
<title>JSON/Atom Custom Search API Example</title>
</head>
<body>
<div id="content"></div>
<script>
function hndlr(response) {
for (var i = 0; i < response.items.length; i++) {
var item = response.items[i];
// in production code, item.htmlTitle should have the HTML entities escaped.
document.getElementById("content").innerHTML +="<br>"+ item.title + "<br>" +"<a href='+item.title'>Google</a>" ;
}
}
</script>
<script src="https://www.googleapis.com/customsearch/v1?q=query&cx=004123968310343535430%3Aaxml6iel9yo&key=AIzaSyDxPcphnrcN9_dfkRkFTbwkv44m1-HI1Hg&callback=hndlr">
</script>
</body>
</html>
回答1:
You are doing wrong concatenation, Where you assigning the innerHTML to content. It should be :
document.getElementById("content").innerHTML +="<br>"+ item.title + "<br>" +"<a href='"+item.title+"'>Google</a>";
Your function should be :
function hndlr(response) {
for (var i = 0; i < response.items.length; i++) {
var item = response.items[i];
// in production code, item.htmlTitle should have the HTML entities escaped.
document.getElementById("content").innerHTML +="<br>"+ item.title + "<br>" +"<a href='"+item.title+"'>Google</a>" ;
}
}
回答2:
Your problem is from this line +"<a href='+item.title'>Google</a>"
since your outter enclosing apostrophe is " then for you to maintain your real values of variable is for your make sure that the variables or executables are not inside that enclosing outer " .
So this should work out for you
document.getElementById("content").innerHTML +="<br>"+ item.title + "<br>" +"<a href='"+item.title+"'>Google</a>" ;
observe the href='"+ item.title+ "'
来源:https://stackoverflow.com/questions/43539168/a-href-in-innerhtml