在我的页面上有2个像这样的href链接:
<a href="#">Name</a>
<a href="#">Phone</a>
用户所在的网址基于以下格式:
http://localhost/site/name/ASDF
我想要它以便网站自动填写像这样的href框
<a href="/site/name/ASDF">Name</a>
<a href="/site/phone/ASDF">Phone</a>
我知道我可以为每个a
标签分配一个id,并让javascript设置href,但我想知道是否有办法做到这一点,而不必有一个设置它的功能页面已加载。
有没有办法像我想的那样去做?主要问题是ASDF
,这是一个用户可以指定的唯一字符串,所以在带有URL的页面上:
http://localhost/site/name/John
2 href将是:
<a href="/site/name/John">Name</a>
<a href="/site/phone/John">Phone</a>
答案 0 :(得分:1)
您应该获得current url
然后split
并获取dynamic
名称,然后将其插入href标记。看到这个例子:
var fakeUrl = $('#fakeURL').text();
var split = fakeUrl.split('/');
var user = split.pop();
$('#name').attr('href','/site/name/'+user);
$('#phone').attr('href','/site/phone/'+user);
&#13;
#fakeURL {
display: none;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="name" href="#">Name</a>
<a id="phone" href="#">Phone</a>
<span id="fakeURL">http://localhost/site/name/ASDF</span>
&#13;
或其他用户:
var fakeUrl = $('#fakeURL').text();
var split = fakeUrl.split('/');
var user = split.pop();
$('#name').attr('href','/site/name/'+user);
$('#phone').attr('href','/site/phone/'+user);
&#13;
#fakeURL {
display: none;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="name" href="#">Name</a>
<a id="phone" href="#">Phone</a>
<span id="fakeURL">http://localhost/site/name/Jiff</span>
&#13;
这是一个示例,将从fake url
读取您应该在您的服务器中使用此代码来获取real
网址:
var url = window.location.href;
var split = url.split('/');
var user = split.pop();
$('#name').attr('href','/site/name/'+user);
$('#phone').attr('href','/site/phone/'+user);
<强> jsFiddle 强>
答案 1 :(得分:0)
如果您的服务器端动态生成,那么您可以毫无问题地使用它。
如果您的链接是静态的,则需要使用javascript,因为部分href基于自己的属性。
如果你使用jquery,你不需要在链接中添加id来填充hrefs,但是,如果你的文档很大,那么脚本的效率应该非常低。
如果您向我提供有关您的用例的更多信息,我可以帮助您更好。
答案 2 :(得分:0)
你可以尝试这个..
使用查询字符串,如localhost / site?name = Max
然后这样做
$url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].DIRECTORY_SEPARATOR.$_GET['name']