2

我试图弄清楚这一点,但我的脑海里一片空白。

  • 我的网页上有一个带有 id 的按钮元素:例如<button id="someId"></button>
  • 在 document.ready 函数中,我有一个单击事件,当用户单击按钮时会发生该事件。例如$('#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>
}
4

2 回答 2

6

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

于 2013-02-01T19:44:21.860 回答
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)}");
   }
});
于 2013-02-01T20:00:23.387 回答