Javascript将变量连接到url

时间:2011-10-14 12:37:20

标签: javascript jquery

如果我有变量,请说

var id = //something dynamically generated 
then i have <a href="http://localhost/ (the variable id)"

我该怎么做?

7 个答案:

答案 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>

您必须等待加载文档才能获取元素,否则它将不存在。