jquery - 使用 jQuery 单击后更改链接 href

标签 jquery attributes

我正在尝试创建一个链接,当单击该链接时,会切换其 href 属性,然后转到该位置。

我的html是:

<a href="http://google.com" rel="group" data-wpurl="http://yahoo.com"></a>

单击时,我希望浏览器转到 data-wpurl 位置,而不是 href 位置。我使用数据属性的原因是因为我正在使用的应用程序需要使用 href...此处不相关。

我的 jQuery 是:

$('a[rel="group"]').on('click', function(e) {
      e.preventDefault();
      var wpurl = $(this).attr("data-wpurl");
      $(this).attr('href', wpurl);
});

我正在使用 e.preventDefault();以防止浏览器将用户带到 href。将 data 属性分配给 href 后,如何触发点击?使用 trigger('click')click(); 不起作用!

有什么想法吗?

最佳答案

类似的解决方案,但不需要调用e.preventDefault()

$('a[rel="group"]').on('click', function(e) {
    e.originalEvent.currentTarget.href = $(this).data('wpurl');
});

从我的角度来看,这是一个更通用、更干净的解决方案,因为这不会改变默认的浏览器行为(例如:当用户用鼠标滚轮单击链接时,使用 Jacks 解决方案不会出现新选项卡)打开)

关于jquery - 使用 jQuery 单击后更改链接 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16425260/

相关文章:

javascript - jquery SlideDown/slideUp 与多个 div

jquery - 如何使用 Javascript 动态更改缩放级别?

spring - 我如何获得 Spring 的表单 :option to not ignore my data attributes?

C#:如何从堆栈跟踪中隐藏方法?

Magento:为什么资源脚本没有安装?

javascript - 通过元素的属性检测元素的属性变化 - JavaScript

jquery - 如何隐藏 Ionic Framework 中的选项卡

javascript - 有没有办法使用 $ ('...' ).load ('url selector' ) 选择文本节点?

javascript - 右键单击,显示调色板,然后更改颜色并将值写入单击时输入

python - 属性错误 :split on spark sql python using lambda