【问题标题】:How can I use a Javascript variable as href inside an anchor tag?如何在锚标记内使用 Javascript 变量作为 href?
【发布时间】:2026-02-11 04:05:01
【问题描述】:

我正在建立一个具有相似名称页面的分页系统。我能够建立一个系统来获取我的原始页面的 url 并创建一个“下一个”和“上一个”链接。不过这些链接都是JS变量的形式,不知道要插入到锚标签里面。

我当前的代码是:

function break_address(url_add) {
      var page = url_add.split("/").slice(-1);
    var num = url_add.split('page-')[1]; 
[1]; //next
  var numnext = parseInt(num)+1;
  var numprev = parseInt(num)-1;
  var nextpage = "https://MYCOMIC.neocities.org/page-" + numnext + ".html";
   var prevpage = "https://MYCOMIC.neocities.org/page-" + numprev + ".html";
   //this return is only so that I can make sure the new links were created correctly
    return [num, numnext,numprev,nextpage,prevpage]
 document.getElementById("next").setAttribute("href",nextpage);
}
//in the real code i am adding the current url with window.location.href instead
var url_add = "https://MYCOMIC.neocities.org/page-2.html"
console.log("Original address: "+url_add)
console.log(break_address(url_add))
<!--the links are set to # right now because I don't know how to set them up. I originally tried setting them as <a id="next">link</a>, but this resulted in an un-clickable link.-->
<a href="#">
    <img src="previous.png" alt="PREVIOUS PAGE" style="height: 75px; width: 75px; padding-left 50px, padding-right: 50px;"></a>
<a href="#">
    <img src="next.png" alt="NEXT PAGE" style="height: 75px; width: 75px; padding-left 50px, padding-right: 50px;"></a>

在这里的另一个类似问题中,有人建议添加一些类似

的内容
document.getElementById("next").href = nextpage;

在脚本中,然后通过做调用它

<a id="nextpage">link</a>

但是,当我尝试执行此操作时,无法单击该链接。

我尝试将 href 添加回锚标记&lt;a href="#" id="nextpage"&gt;link&lt;/a&gt;) 但随后链接转到我已经在的同一页面。

我做错了什么? (注意:新生成的url链接的文件都存在。)

我知道我可以手动链接下一页和上一页。我不想要这个,我想要可以自动链接到 Javascript 生成的 url 的代码。这可能吗?我该怎么办?

【问题讨论】:

    标签: javascript html pagination anchor href


    【解决方案1】:

    这是使用anchor标签的正确方式:

    <a href="yourPagePath/page-1.html">link</a>
    

    【讨论】:

    • 与我对另一个答案的评论相同-我不想手动放入新链接。所有 JavaScript 的重点是,无论我从哪个页面开始,我的代码都会自动获取下一页和上一页的 url,这样我就可以在所有漫画页面上复制这段代码。有没有办法自动使用JS生成的新url?
    【解决方案2】:

    在这里的另一个类似问题中,有人建议添加类似以下内容的内容:document.getElementById("next").href = nextpage;

    根据您提供的 html 代码,您似乎从未在 a 标记上指定 id,因此没有检索到任何元素。

    但是,另一种解决方案是将 html 文件的路径嵌入到 a 标签的 href 中,如下所示:

    &lt;a href="path_to_html_file/page-1.html"&gt;link&lt;/a&gt;

    【讨论】:

    • 我确实尝试在 a 标签上指定一个 ID,如下所示:&lt;a id="nextpage"&gt;link&lt;/a&gt; 但是当我在我的代码中有这个时,我的链接根本不起作用。我不能使用&lt;a href="path/page-1.html"&gt;link&lt;/a&gt;,因为我希望通过我的所有页面复制/粘贴此代码,如果我只是要手动链接下一个和上一个,那么我就不会打扰 JS。有没有办法在a标签中自动使用我的JS生成的url?
    【解决方案3】:

    感谢所有试图提供帮助的人,我最终在我认识 IRL 的人的帮助下解决了这个问题。 我的最终代码如下所示:

    //takes my current page's url which is in the form path/page-#.html and splits off the #.html
    function get_nextpage(url_add) {
          var page = url_add.split("/").slice(-1);
        var num = url_add.split('page-')[1]; 
    [1];
    //adds 1 to the number within the #.html, makes a new link which is "nextpage"
      var numnext = parseInt(num)+1;
      var nextpage = "https://MYCOMIC.neocities.org/page-" + numnext + ".html";
      return nextpage;
    }
    //same but for previous page
    function get_prevpage(url_add) {
          var page = url_add.split("/").slice(-1);
        var num = url_add.split('page-')[1]; 
    [1];
      var numprev = parseInt(num)-1;
      var prevpage = "https://MYCOMIC.neocities.org/page-" + numprev + ".html";
      return prevpage;
    }
    //function which uses the new url whenever my links are clicked
    window.onload = function(e) {
      var url_add = window.location.href;
      var nextpage = get_nextpage(url_add);
      var prevpage = get_prevpage(url_add);
      document.getElementById("next").onclick = function() {
        this.href = nextpage;
        console.log(this.href);
      };
      document.getElementById("prev").onclick = function() {
        this.href = prevpage;
        console.log(this.href);
      };
    }();
    <a class="button" id="prev" href="#">
        <img src="previous.png" alt="PREVIOUS PAGE" style="height: 75px; width: 75px; padding-left 50px, padding-right: 50px;"></a>
    <a class="button" id="next" href="#" >
        <img src="next.png" alt="NEXT PAGE" style="height: 75px; width: 75px; padding-left 50px, padding-right: 50px;"></a>

    它可能比理想的要复杂一些,但它确实有效!

    【讨论】: