2012-02-19 43 views
0

我试图获取/ blog以便放入url_pathname。获取存储在变量中的URL的路径名

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

如果该链接是 'http://www.example.com/blog/post',url_pathname会/博客/

我尝试没有成功以下。

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

回答

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没有抛出一个错误)
+0

谢谢你的时间和帮助。 – Gab 2012-02-19 17:04:25

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/