如何获取标签的文本

How do I get the text of a tag

本文关键字:标签 文本 获取 何获取      更新时间:2023-09-26

我正在尝试获取被单击的文本。我有一个案例,在同一个类下定义了两个不同的链接,我需要确定哪个链接被点击了

<div class="block pdp-estimate-quote">
  <ul>
    <li>
        <a href="#">Estimate Payment</a>
    </li>
    <li>
        <a href="#">Get a Quote</a>
    </li>
  </ul>
</div>

当有人使用链接文本作为描述点击任一链接时,我想引发GA事件。下面的代码抛出一个事件,但它显示了两个链接的文本,而不仅仅是单击的链接。

$('.pdp-estimate-quote a').click(function(){ 
    var ctatext = $(this).closest(".pdp-estimate-quote").find('a').text();
    dataLayer.push({ 'event':'event', 'eventCategory': 'Get Quote', 'eventAction':ctatext, 'eventLabel':{{url path}}  }) 
});

我可能在您的问题上遗漏了一些内容,但为了获得当前元素的文本,您只需要进行

var ctatext = $(this).text();

所以完整的功能是

$('.pdp-estimate-quote a').click(function(){ 
    var ctatext = $(this).text();
    dataLayer.push({ 'event':'event', 'eventCategory': 'Get Quote', 'eventAction':ctatext, 'eventLabel':{{url path}}  }) 
});

因为您看到的是父元素,而不是单击的元素。

var ctatext = $(this).closest(".pdp-estimate-quote").find('a').text();

应该是

var ctatext = $(this).text();

在事件处理程序中,this指的是触发事件的元素。因此,在点击处理程序中,this是被点击的DOM元素。

var ctatext = $(this).text();