如何在我的javascript中执行anchor \ href?

时间:2013-02-01 19:42:04

标签: javascript jquery html anchor href

我正在努力解决这个问题,但我的思绪一直空白。

  • 我的网页上有一个带有ID的按钮元素:例如<button id="someId"></button>
  • 在document.ready函数中,我有一个on click事件,当用户单击该按钮时会发生该事件。例如$('#someId').on('click', function() {
  • 在这种情况下,有一个if语句确定一个值。根据值,我想在锚中执行href,但我无法弄清楚语法。

我试图在javascript中执行锚点的原因是因为我将变量传递给href。这可能是真是假。

这就是我所拥有的\我正在努力做的事情。任何帮助都会很棒。

if (date1 <= date2) {
   //I want to execute this anchor
   <a href="@{Application.openthispage(true)}"></a>
}else{
   //otherwise execute this anchor
   <a href="@{Application.openthispage(false)}"></a>
}

2 个答案:

答案 0 :(得分:6)

你看错了。锚是一个静态HTML元素,单击该元素时,会更改当前窗口位置(即URL)。 JS等价物看起来像这样:window.location.href = 'http://www.google.com';。因此,通过设置window.location.href,您将使用JS导航到另一个URL。

答案 1 :(得分:2)

Eli发布的window.location方法是使用JavaScript访问链接的正确方法。但是,如果您可以使用链接而不是按钮,则只需在onclick中设置链接的href即可。这是一个示例jsFiddle,它根据一个输入是否大于另一个来访问不同的URL: http://jsfiddle.net/jw3Pd/

因此,当用户单击链接时,将href设置为您希望用户访问的任何链接。

$("#someId").on("click", function () { 
   if (date1 <= date2) {
      //I want to execute this anchor
      $("#someId").attr("href", "@{Application.openthispage(true)}");
   } else{
      //otherwise execute this anchor
      $("#someId").attr("href", "@{Application.openthispage(false)}");
   }
});