我有一个带有顺序页面命名的站点。 以下面的例子为例
我想创建一个按钮来运行脚本以获取当前URL并在“book-”之后将数字增加1.这将有效地用作“下一页”按钮。我想避免使用硬编码链接,因为真实网站有超过900页。这很有用,因为我只需要将一段代码复制到每个页面上,而不是花时间手动更改每个链接。
要做到这一点,我打算使用JS来:
然后我想使用这个结果连接的文本字符串作为HTML标记的href属性的值....它应该类似于以下内容:
<a href="*concatenated string from step 4*" >
用于步骤1-4的最简单的javascript代码是什么?在标记内使用的正确语法是什么,以便超链接指向步骤4中生成的URL(连接字符串)?
答案 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/