10

从:

http://www.site.com/example/index.html

我怎样才能得到:

http://www.site.com/example/

并使用 Javascript 将其存储到变量中,以及如何使用 jQuery。提前致谢。

4

6 回答 6

12
var myURL = "http://www.site.com/example/index.html";
var myDir = myURL.substring( 0, myURL.lastIndexOf( "/" ) + 1);
于 2013-07-05T21:31:18.397 回答
5
$(location).prop("href").split("/").slice(0,-1).join("/")

当前页面的演示流程:

  1. $(位置)

    {
        "ancestorOrigins": {
        },
        "hash": "",
        "host": "stackoverflow.com",
        "hostname": "stackoverflow.com",
        "href": "https://stackoverflow.com/questions/17497045/jquery-js-get-current-url-parent-directory",
        "origin": "https://stackoverflow.com",
        "pathname": "/questions/17497045/jquery-js-get-current-url-parent-directory",
        "port": "",
        "protocol": "https:",
        "search": ""
    }
    
  2. $(位置).prop("href")

    https://stackoverflow.com/questions/17497045/jquery-js-get-current-url-parent-directory
    
  3. $(location).prop("href").split("/")

    [
        "https:",
        "",
        "stackoverflow.com",
        "questions",
        "17497045",
        "jquery-js-get-current-url-parent-directory"
    ]
    
  4. $(location).prop("href").split("/").slice(0,-1)

    [
        "https:",
        "",
        "stackoverflow.com",
        "questions",
        "17497045"
    ]
    

    ※ slice() 方法选择从给定 start 参数开始的元素,并在给定 end 参数处结束,但不包括。使用负数从数组的末尾进行选择。

  5. $(location).prop("href").split("/").slice(0,-1).join("/")

    https://stackoverflow.com/questions/17497045
    

注释和参考:

  • location:位置对象包含有关当前 URL 的信息。
  • href:当前页面的整个 URL。
  • .prop():获取元素的属性值。
  • .split():该方法用于将字符串拆分为子字符串数组,并返回新数组。
  • .slice():该方法将数组中的选定元素作为新的数组对象返回。
  • .join():该方法将数组的元素连接成一个字符串,并返回该字符串。
于 2017-08-21T06:16:09.990 回答
4

http://jsfiddle.net/mXpBx/

var s1 = "http://www.site.com/example/index.html";
var s2 = s1.replace(s1.split("/").pop(),"");
于 2013-07-05T21:39:51.870 回答
1

小提琴

var a = "http://www.site.com/example/index.html";
var b = a.substring(0, a.lastIndexOf('/'))+"/";
于 2013-07-05T21:30:50.077 回答
1

正则表达式会做同样的事情,但在这个例子中,正则表达式并不是最简单的解决方案。

var url = "http://www.site.com/example/index.html";
var newUrl = url.match(/^(.*[\\\/])/)[1];
于 2013-07-05T21:32:26.793 回答
1

以下似乎有效

new URL(".", "http://example.com/folder/subfolder/file.js")
于 2019-10-23T08:49:13.970 回答