创建脚本以创建链接,该链接是当前URL的修改版本

时间:2014-07-15 20:53:48

标签: javascript html button

我有一个带有顺序页面命名的站点。 以下面的例子为例

  • mysite.com/index.html
  • mysite.com/book-1.html
  • mysite.com/book-2.html

我想创建一个按钮来运行脚本以获取当前URL并在“book-”之后将数字增加1.这将有效地用作“下一页”按钮。我想避免使用硬编码链接,因为真实网站有超过900页。这很有用,因为我只需要将一段代码复制到每个页面上,而不是花时间手动更改每个链接。

要做到这一点,我打算使用JS来:

  1. 获取当前网页的网址
  2. 将文字字符串拆分为“ - ”字符
  3. 将“ - ”字符后的数字增加1
  4. 连接术语“www.mysite.com/book-”和第3步中新评估的数字
  5. 然后我想使用这个结果连接的文本字符串作为HTML标记的href属性的值....它应该类似于以下内容:

    <a href="*concatenated string from step 4*" >
    

    用于步骤1-4的最简单的javascript代码是什么?在标记内使用的正确语法是什么,以便超链接指向步骤4中生成的URL(连接字符串)?

1 个答案:

答案 0 :(得分:2)

我的回答基本上是获取网址,拆分网址,然后获取当前网址上的图书编号,然后将其添加1,然后将href属性设置为下一本图书...

虽然,我显然没有你的网站的URL,所以评论在哪里,用document.URL替换字符串...这有一个当前URL的保险库(显然不是你的网站。)

var URL = "http://example.com/book3.html"; // Replace this with document.URL in your actual script

var URL_split = URL.split("/");
var URL_return_num = parseInt(URL_split[URL_split.length - 1].replace(/book(.*?)\.html/i, "$1"));

document.getElementById("next_book").setAttribute("href", "book"+(URL_return_num+1)+".html");

我将完成实际的工作。

var URL:这将存储以供将来在脚本中使用的URL。

var URL_split:这会将URL更改为数组,对于文本中的每个“/”。

var URL_return_num:这是一个非常紧凑的。这基本上取出了拆分URL的最后一部分,即“book3.html”......它删除了“book”和“.html”与正则表达式。然后它将它变成一个int,因此可以添加到。

"book"+(URL_return_num+1)+".html":这会创建一个字符串,基本上是"book" + (current_book_number + 1) + ".html",在这种情况下(在页面上),它会是"book" + (3+1) + ".html"


这是一个JSFiddle示例,虽然它没有多大用处,因为它不在您的网站上。 http://jsfiddle.net/XeroElixir/Uwg7n/1/