关注更改了一个href

时间:2015-12-16 13:59:04

标签: jquery

我有一个href:

<a href="#" id="my_href">here we go</a>

我的jQuery是:

$('#my_href').on('click', function(e) {
  e.preventDefault();

  //$(this).attr('http://www.google.com').click(); // <== I tried also this
  $(this).attr('href', 'http://www.google.com').trigger('click');
});

我想要的只是当用户点击href时,href必须更改href属性并关注该链接。

以上代码(两个示例)都不起作用。请问我在哪里做错了?

3 个答案:

答案 0 :(得分:3)

您正在导致无限循环,因为触发click()会导致它继续调用该函数。您需要取消绑定点击或不取消点击方法。

$('#my_href').on('click', function(e) {
    e.preventDefault();
    $(this)
        .attr('href', '//www.example.com')
        .off("click")
        .get(0).click();
});

或只是

$('#my_href').on('click', function (e) {
    $(this).attr('href', '//www.example.com');
});

答案 1 :(得分:2)

我认为这就是你要找的东西

$('#my_href').on('click', function(e) {
  e.preventDefault();
  window.location.href = 'http://www.google.com';
});

答案 2 :(得分:-2)

使用此代码

$('#my_href').on('click', function(e) {
  e.preventDefault();

  $(this).attr('href','http://www.google.com').click();
});