javascript - 访问 anchor 属性和 event.preventDefault()

标签 javascript jquery events preventdefault

我想捕获链接点击并存储在我的数据库中,而不使用十字转门。当前代码

$( ".ads-box a" ).click(function( event ) {
  event.preventDefault();
  var href = $(this).find('a').attr('href');
  var id = $(this).find('a').attr('id')
  console.log(href);
  console.log(id);
  console.log(this);
});

<div class="ads-box" id="adbox-35"><a href="http://www.makeitrightnola.org" id="ad-35" target="_blank"><img src="/g/shows/sidebar/83172823_ad_image.png" alt="Make It Right"></a></div>

在控制台中生成

undefined
undefined
<a href="http://www.makeitrightnola.org" id="ad-35" target="_blank"><img src="/g/shows/sidebar/83172823_ad_image.png" alt="Make It Right"></a>

如何访问链接的属性?出了什么问题?

最佳答案

删除.find('a')var href = $(this).find('a').attr('href'); 。您已经在 <a> 上单击“ing”元素,所以 $(this).attr('href'); 就足够了

试试这个:

$( ".ads-box a" ).click(function( event ) {
  event.preventDefault();
  var href = this.href;  // i used vanilla JS here
  var id = this.id;      // i used vanilla JS here
  console.log(href);
  console.log(id);
  console.log(this);
});

演示 here

关于javascript - 访问 anchor 属性和 event.preventDefault(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19436404/

相关文章:

javascript - 从对象中检索数据在 Ionic 中不起作用

jquery - jQuery 代码中 'this' 的含义

jquery - 如何在下拉列表中设置默认值

javascript - $().text();没有改变值(value)

C#、事件处理程序和线程

c# - 如何从另一个窗体在窗体图片框上绘制矩形

javascript - 伪造查看器调用焦点方法

javascript - 非标准字体如何在网站使用中得到效果?

javascript - 另一种ajax调用方式

c - event_base_dispatch()如何工作?