访问定位点属性和 event.preventDefault()

Accessing anchor attributes and event.preventDefault()

本文关键字:preventDefault event 定位 属性 访问      更新时间:2023-09-26

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

$( ".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>

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

删除 var href = $(this).find('a').attr('href'); 中的.find('a')。您已经在单击<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);
});

在这里演示