如果我有变量,请说
var id = //something dynamically generated
then i have <a href="http://localhost/ (the variable id)"
我该怎么做?
答案 0 :(得分:5)
连接不能在锚标记本身内发生,但您可以这样设置:
<a id="my_anchor" href=""></a>
<script type="text/javascript">
// jQuery way
$( "#my_anchor" ).attr( 'href', 'http://localhost/' + id );
// Non-jQuery way
document.getElementById( "my_anchor" ).href = 'http://localhost/' + id;
</script>
答案 1 :(得分:2)
假设:
<a id="yourLink" href="http://localhost/ (the variable id)" />
普通JavaScript
document.getElementById('yourLink').href += id;
或在jQuery中
$('#yourLink').attr('href', function() {
return this.href + id;
});
答案 2 :(得分:1)
这样的事情:
<a href="#" id="mylink">My Link</a>
var id = // something dynamic
var url = "http://localhost/"+id;
document.getElementById("mylink").href = url;
您不必等待文档完全加载,在大多数情况下,只要元素已加载到DOM中,您就可以了,假设您的Javascript放在元素之后(如上所述)。
不是很好的做法,但是说你“等待”加载整个页面会产生误导。你没有。
答案 3 :(得分:1)
当你设置这样的东西时,没有人指出你应该总是encodeURIComponent
;否则你会对脚本注入攻击开放:
以@ jayp为例:
<a href="#" id="mylink">My Link</a>
var id = getSomethingDynamic();
var url = "http://localhost/" + encodeURIComponent(id);
document.getElementById("mylink").href = url;
答案 4 :(得分:0)
Javascript功能:
function openUrl(id)
{
window.location = "http://localhost/"+id
}
HTML:
<a href="javascript:void(0)" onclick="openUrl(id)">link</a>
答案 5 :(得分:0)
尝试这个,我用了这个
<script type="text/javascript">
var id = 2; //something dynamically generated
<a href='http://localhost/edit.php?catID "+id+" '>
<script>
答案 6 :(得分:-2)
您可以只检索DOM元素,并向href属性添加内容。像这样:
<script type='text/javascript'>
var id = 5;
window.onload = function()
{
document.getElementById('url').href += id;
}
</script>
<a href='http://localhost/?id=' id='url'>Click me</a>
您必须等待加载文档才能获取元素,否则它将不存在。