href向超链接添加额外信息

时间:2014-10-19 16:31:56

标签: javascript html

我目前正在生成超链接,因此我可以将人们重定向到正确的网页。问题是正确的超链接如:

www.reddit.com/r/magicTCG/comments/2ific1/sam_pardee_on_the_modern_jeskai_ascendancy_combo /'

在href中,将我重定向到

EXP / RDT / www.reddit.com / R / magicTCG /评论/ 2ific1 / sam_pardee_on_the_modern_jeskai_ascendancy_combo /'

其中exp / rdt是我ftp上原始索引文件的路径。

以下是我使用的代码:

var hyperlink = "'www.reddit.com" + post.data.permalink + "'";

$("#searchesTable").append('<tr><td>' + post.data.title + '</td><td>' + post.data.ups + '</td><td>' + post.data.downs + '</td><td>' + formattedTime + '</td><td>' + post.data.subreddit + '</td><td>' + post.data.permalink + '</td><td><a href="' + hyperlink + '" ><button class="btn btn-success btn-xs">Visit!</button></a></td></tr>');

我认为问题来自于这段代码:

<td><a href="' + hyperlink + '" ><button class="btn btn-success btn-xs">Visit!</button></a></td>

关于如何解决这个问题的任何想法?

3 个答案:

答案 0 :(得分:1)

您需要在URL前加上http://协议代码。否则,浏览器会将其视为相对链接。

答案 1 :(得分:1)

你必须添加协议并且你有太多的引号

var hyperlink = "http://www.reddit.com" + post.data.permalink;

答案 2 :(得分:0)

中没有理由单引号
var hyperlink = "'www.reddit.com" + post.data.permalink + "'";

除非你指定协议,href将相对于当前路径(除了前导/ - 然后它将相对于根路径)。查看the spec

这是使其工作的最小代码:

var post = {
  data: {
    title: 'Lorem ipsum dolor',
    ups: 15,
    downs: 2,
    subreddit: 'whatever',
    permalink: '/r/magicTCG/comments/2ific1/sam_pardee_on_the_modern_jeskai_ascendancy_combo/'
  }
};

var formattedTime = 'Apr 12 2007';

var hyperlink = "http://www.reddit.com" + post.data.permalink;

$("#searchesTable").append('<tr><td>' + post.data.title + '</td><td>' + post.data.ups + '</td><td>' + post.data.downs + '</td><td>' + formattedTime + '</td><td>' + post.data.subreddit + '</td><td>' + post.data.permalink + '</td><td><a href="' + hyperlink + '" ><button class="btn btn-success btn-xs">Visit!</button></a></td></tr>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="searchesTable">
</table>