我有一个html链接引用类似于:
click here<a href="http://www.example.com/usr/page.aspx?pgid=1">www.example.com</a>
现在我想添加javascript标签,以使www.example.com网址变得动态。因此它将始终检索为
<a href="[DYNAMIC URL]/usr/page.aspx?pgid=1">www.example.com</a>
有人可以提供建议吗?TQ
答案 0 :(得分:1)
这是你要找的吗? Check JSFiddle Demo
HTML
<a class="dyna" href="[DYN]/usr/page.aspx?pgid=1">www.example.com</a><br/>
<a class="dyna" href="[DYN]/usr/page.aspx?pgid=1">www.site.com</a><br/>
<a class="dyna" href="[DYN]/usr/page.aspx?pgid=1">www.bla.com</a><br/>
JS
var l = document.getElementsByClassName("dyna").length;
for (var i=0; l > 0; l--){
var inner = document.getElementsByClassName("dyna")[i].innerHTML,
x = document.getElementsByClassName("dyna")[i].getAttribute('href'),
y = x.replace('[DYN]','http://'+inner);
document.getElementsByClassName("dyna")[i].setAttribute('href',y);
i++
}
注意:我使用了一个类来检索锚点,但如果您愿意,可以查找TagName a ...
答案 1 :(得分:0)
使用javascript获取域名并添加它以创建您需要的链接。
var domain = document.domain;
var link = '<a href=\"'+domain+'/usr/page.aspx?pgid=1\">www.example.com</a>';
link // here you get a anchor tag html.
从可能的子域sub1.example.com sub2.example.com sub3.example.com集合中获取域名example.com。你可以尝试下面的代码。
var parts = location.hostname.split('.');
var subDomain = parts.shift();
var upperLevelDomain = parts.join('.');
To get only the second-level-domain, you might use
var secondLevelDomain = parts.slice(-2).join('.');
答案 2 :(得分:0)
href
属性可以是相对 1 路径:
<a href="/path/to/page">Blah</a>
该链接将获取当前协议,主机和端口,并附加接下来的内容。
示例场景:让我们假设当前网址为http://yoursite.com/pages/links.html
,上面的示例锚点会在点击http://yoursite.com/path/to/page
时导航。
注意:如果省略相对路径中的前导斜杠
<a href="path/to/page">Blah</a>
将使用当前完整路径。
示例方案:让我们预先设置当前网址为http://yoursite.com/pages/links.html
,然后点击http://yoursite.com/pages/path/to/page
1 :相对,如相对于当前页面