将变量放置为HREF

时间:2011-05-03 02:46:39

标签: javascript jquery href

基本上,是否可以做类似......

<a href=link onClick="clicked();">Click me!</a>

<script>
function clicked() {
    if(myVar == 1) {
        link="http://stackoverflow.com"
    }
    else if (myVar == 2) {
        link="http://google.com"
    }
}
</script>

这个例子可能是不可能的,因为它同时发射...... 但是在那里可以使用变量吗?

基本上,我需要一个链接,根据变量将您带到两个不同的地方。 我想我可以有两个链接,只是根据变量分别隐藏/显示每个链接,但我想知道是否可能采用另一种方式?

我正在使用HTML,CSS,JavaScript和JQuery ......

谢谢!

6 个答案:

答案 0 :(得分:3)

你可以......

$('a').click(function(event) {
    if (condition) {
        event.preventDefault();
        window.location = 'http://different-url.com';
    }
});

如果符合条件,则会转到其他网址。

否则,链接将按预期工作。

如果您不想使用jQuery,那就是......

var anchors = document.getElementsByTagName('a');
for (var i = 0, anchorsLength; i < anchorsLength; i++) {
   anchors[i].onclick = function(event) {
      if (condition) {
          event.preventDefault();
          window.location = 'http://different-url.com';
      }
   }
}

答案 1 :(得分:1)

您只需使用Javascript进行重定向:

<script>
function clicked() {
    if(myVar == 1) {
        window.location = "http://url1.com";
    }
    else if (myVar == 2) {
        window.location = "http://url2.com";
    }
}
</script>

答案 2 :(得分:1)

不,不可能按照你想要的方式去做。

为什么不这样做呢?

<a href="http://www.example.com" onClick="clicked();">Click me!</a>

<script>
function clicked()
{
    if(myVar == 1) 
    {
        window.location.href = "www.stackoverflow.com";
    }
    else if (myVar == 2)
    {
        window.location.href = "www.google.com";
    }
}

请查看Mozilla Developer Center以获取有关window.location对象的进一步参考。

答案 3 :(得分:0)

你可以这样做:

<script> function clicked() {
    if(myVar == 1) {
        window.location="http://stackoverflow.com"
    }
    else if (myVar == 2) {
        window.location="http://google.com"
    } } 
</script>

答案 4 :(得分:0)

试试这个

<a href=link onClick="clicked();">Click me!</a>

<script>
function clicked() {
    if(myVar == 1) {
        location.replace("http://stackoverflow.com");
    }
    else if (myVar == 2) {
        location.replace("http://google.com");
    }
}
</script>

干杯。这将根据myVar值将您带到所需的位置!

答案 5 :(得分:0)

function clicked() {
    var dest = "";
    if(myVar) 
       dest = "http://stackoverflow.com";
    else
       dest = "http://google.com"
    window.navigate(dest);

但我看到每个人都说同样的话。只需检查哪种方法适用于大多数浏览器