2012-02-19 11 views
0

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

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/

関連する問題