仅在单击锚点时生成URL

时间:2014-05-13 16:40:44

标签: javascript php dynamic-linking

是否可以仅在单击时将URL指定给锚点?

<a href="http://example.com/">Token Link</a>

点击锚点后,它将转到http://example.com/token=xxxxx/

我想在点击它时才生成令牌。

如果可能,怎么做?

感谢

2 个答案:

答案 0 :(得分:1)

您可以像这样处理事件并更改href。

$("a").on("click", function() {
   $(this).attr("href", $(this).attr("href") + "/token=xxxx");
});

您还可以直接将用户导航到其他网址,而无需更改。

$("a").on("click", function(ev) {
   document.location.href = "//something-different.com";
   ev.preventDefault();
   return false;
});

答案 1 :(得分:0)

使用jQuery在另一个窗口中打开链接

$(document).ready(function () {
  $(".thisClass a").on("click", function(e){
    e.preventDefault(); // this prevents going to the original url or default behavior
    var changedLink = $(this).attr("href", $(this).attr("href") + "/token=xxxx");
    var newUrl = $(changedLink).attr('href');
    window.open(newUrl, '_blank');

  });

});

//这是一种使用普通Javascript的方法 - 我没有在所有浏览器上测试它,但是使用chrome作为例子。

// goes in a script.js or in script tags under the </body> element
function changeTheLink() {
  event.preventDefault();
  var aLink = document.getElementById('theLink');
  var theOldLink = aLink.getAttribute("href");
  aLink.setAttribute('href', theOldLink + "/token=xxxx");
  var theNewLink = aLink.getAttribute("href");
  window.open(theNewLink, "_blank");

}
// here is the HTML you owuld have to add an id and an onclick attribute to use this code

 <div class="thisClass"><a href="http://thiswebsite.com" id="theLink"
 onclick="changeTheLink()">Here is a link</a></div>