动态网址内容的Javascript

时间:2014-12-05 09:20:46

标签: javascript html

我有一个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

3 个答案:

答案 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 相对,如相对于当前页面