【问题标题】:Find Next HTML Document in a Series查找系列中的下一个 HTML 文档
【发布时间】:2015-02-23 13:30:47
【问题描述】:

我在同一目录中有一系列 HTML 文件,命名为:page1.html、page2.html、page3.html 等。我可以像这样识别当前 HTML 文档的名称:

var path = window.location.pathname;
var page = path.split("/").pop();
console.log( page );

但现在我希望能够记录系列中的下一个 HTML 文件。因此,如果我在 page2.html 上,我想记录 page3.html。如何用我系列中的下一个编号文件替换该文件名?

【问题讨论】:

    标签: javascript jquery jquery-pagination


    【解决方案1】:

    这应该用纯 javaScript 来做:

     var page = window.location.pathname;
     console.log(page.replace(/\d+/g, parseInt(page.match(/\d+/g), 10) + 1));
    

    内部正则表达式采用页码 + 1,外部正则表达式用它替换值。

    【讨论】:

    • 这个有效!但它给了我“page21.html”而不是“page2.html”——有没有办法让它增加到“page2.html”?
    • 您也可以使用 parseInt(1, 10) 来添加数字。也许它不会像另一个字符串一样使用..当 21 出来时,可怜的 javaScript 试图猜测它的字符串。
    【解决方案2】:

    这很简单:

    page=str.replace("page",""); a=parseInt(page); a++; console.log("page"+a+".html");

    第一行替换了第一部分,所以它是“3.html”变量。第二个将整数移出页面。接下来是增量和输出。

    这是可以做到的可能性之一。

    来源:

    str.replace()

    parseInt()

    【讨论】:

    • 感谢@SugarOnBacon。添加该代码时,我在控制台中收到此错误: Uncaught ReferenceError: str_replace is not defined
    【解决方案3】:

    感谢@Mico 和@SugarOnBacon 这个解决方案有效!

    var path = window.location.pathname;
    var page = path.split("/").pop();
    
     console.log(page.replace(/\d+/g, parseInt(page.match(/\d+/g), 10) + 1));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-18
      • 1970-01-01
      • 1970-01-01
      • 2021-02-01
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多