【问题标题】:Get parts of URL after domain name //... by splitting URL into array获取域名后的部分 URL //... 通过将 URL 拆分为数组
【发布时间】:2012-08-07 13:50:00
【问题描述】:

我已经制作了这段代码:

var newURL = $(".list-portfolio a").attr("href"),
    pathArray = newURL.split( '/' ),
    secondLevelLocation = pathArray[0];
console.log(pathArray);

    var pathArray = pathArray[3, 4];

pathArray 值为["http:", "", "www.mikevierwind.nl", "portfolio", "ruimzicht.html"]

我怎样才能得到这个数组的最后两项。我希望结果是portfolio/ruimzicht.html。

【问题讨论】:

  • var last2 = pathArray[3]+'/'+pathArray[4] 这可能是......如果你有固定的网址
  • var pathArrayNew = pathArray[3]+"\/"+pathArray[4]; ?
  • 你可以在元素上做.prop("pathname")

标签: javascript jquery arrays


【解决方案1】:

你什么都不需要,你只需要window.location.pathname

> window.location.pathname
"/questions/11898626/get-items-of-the-array/11898963"

这将使您将来拥有“portfolio/2012/ruimzicht.html”之类的目录,并将域更改为“www.mikevierwind.???”无需更改代码。


如果您目前不在该域中(并且无法执行上述操作),您可以使用单行符按照自己的方式进行操作:

> pathArray.slice(-2).join('/')
"portfolio/ruimzicht.html"

但这不像上面那样是面向未来的。为了使其面向未来,您可以这样做:

> url.split(document.domain)[1].slice(1)
"portfolio/2012/ruimzicht.html"

当您当前不在域中时,通常会在外国 URL 上执行此操作,因此无法执行 window.location.pathname

【讨论】:

    【解决方案2】:

    如果您没有固定大小或元素数量,您可以使用数组长度。

    var path = array[array.length-2]+'/'+array[array.length-1];
    

    如果您只想要路径,请使用他们在 cmets 中建议的普通 JS 或 jQuery。

    //Plain JS
    var path = window.location.pathname;
    //jQuery
    $(location).attr('pathname'); 
    

    【讨论】:

    • 我的意思是访问 a 元素上的该属性。
    【解决方案3】:

    你可以试试这个

    var newURL = $(".list-portfolio a").attr("href"),
        pathArray = newURL.split( '/' ),
        secondLevelLocation = pathArray[0];
    console.log(pathArray);
    
    var pathArray = pathArray[3] +'/'+ pathArray[4];
    

    【讨论】:

      【解决方案4】:

      或者可能是这样的

      var newURL = $(".list-portfolio a").attr("href"),
      pathArray = newURL.split( '/' ),
      secondLevelLocation = pathArray.shift();
      
      var pathArray = pathArray.join('/');
      

      【讨论】:

        【解决方案5】:

        试试这个

        console.log(new URL(document.URL));
        

        你会得到 URL 的对象

        【讨论】:

          猜你喜欢
          • 2011-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-16
          • 1970-01-01
          • 1970-01-01
          • 2017-01-29
          相关资源
          最近更新 更多