获取存储在变量中的URL的路径名

时间:2012-02-19 16:33:58

标签: jquery pathname

我正在尝试获取/博客以便输入url_pathname。

var link = 'http://www.example.com/blog';
alert(url_pathname);

如果链接是'http://www.example.com/blog/post',则url_pathname将是/ blog / page

我尝试了以下但没有成功。

var link = 'http://www.example.com/blog';
var url_pathname = link[0].pathname;
alert(url_pathname);

2 个答案:

答案 0 :(得分:2)

pathname属性仅适用于location对象和链接元素。将字符串分配给锚点,并从解析的链接中读取值,如下所示:

var link = 'http://www.example.com/blog';
var a = document.createElement('a'); // Create a dummy <a> element
a.href = link;                       // Assign link, let the browser parse it
var url_pathname = a.pathname;
alert(url_pathname);

<小时/> 失败方法的说明:

  • link是一个字符串。
  • 当您使用link[0]时,您会获得字符串的第一个字符h
  • 然后,您正在尝试获取它的pathname属性。此字符串未定义此属性,因此您收到undefined (添加了此解释以澄清为什么JavaScript没有抛出错误)

答案 1 :(得分:0)

试试这个,让它变得不那么冗长:

//var link = 'http://www.example.com/blog'; // try this
var link = "http://www.example.com/blog/post";
var i = link.indexOf('.com')​​​;//assuming ends in .com, find where it starts
alert(link.substring(i+4));//use +4 to skip .com

请参阅演示:http://jsfiddle.net/c6MMz/