2016-07-09 165 views
1

例如,現在我在http://example.com/practice如何在錨點href處嵌入路徑到當前路徑?

如果我有生成的頁面中的鏈接:<a href="5">Click here</a>,我引導到http://example.com/5

現在我知道這是通常的相對路徑方法。但我在這裏實際需要的是這樣的鏈接將帶我到http://example.com/practice/5,而我不需要在該頁面上指定practiceexample.com。如果可能,最好不使用任何Javascript,但如果不可能,那麼我想我必須使用Javascript。

我已經試過<a href="./5">Click here</a><a href="./5/">Click here</a>,它們仍然像"5"一樣工作。

請幫忙。謝謝。

+1

只有「目錄」在相對路徑中被繼承。因此,如果您想使用純html,則必須使當前路徑像「http://example.com/practice/」 - 否則只需使用window.location構建新路徑。 – domax

回答

1

你可以在你的javascript中使用window.location.href獲取當前位置(可能有更好的方法取決於你是否使用任何js框架)。例如,對於此頁面,window.location.href返回https://stackoverflow.com/questions/38284340/how-to-embed-path-to-the-current-path-at-anchor-href

然後,您可以做這樣的事情

var baseUrl = window.location.href; 
var aTag = document.querySelector(<selector for your anchor tag>); 
aTag.setAttribute("href", baseUrl + "/" + <url we want to go to>); 

所以基本上我們抓住我們的當前位置,改變我們要導航到該標籤的href ,然後在最後添加我們想要去的任何子路由。一種奇怪的方式來做到這一點,但正如我之前所說,如果您使用反應或角度或其他框架或庫,可能會有一個更簡單的方法。

+0

好,那麼,看起來像沒有Javascript就真的不可能。感謝您的解釋和Javascript代碼! :) –