如何获取标签的文本
How do I get the text of a tag
我正在尝试获取被单击的文本。我有一个案例,在同一个类下定义了两个不同的链接,我需要确定哪个链接被点击了
<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();
相关文章:
- 在Datatables中设置本地化后,需要更改标签文本
- 当输入位于标签内时,更新无线电标签文本
- 无法从jquery设置标签文本
- 在我用javascript更改后,标签文本在代码后面没有更改
- 在运行时更改表单标签文本
- 使用javascript递减会话时间值并分配给标签文本
- 标签文本框ServerControl
- D3 垂直条形图为标签文本添加换行符
- 获取标签文本并将其设置为输入值[为什么输入值只获取空格前的文本?
- 将标签文本复制到输入
- 上下文菜单 JavaScript 无法获取所选文本,如果文本是输入标签/文本框
- 使用 JavaScript 将标签文本设置为跨度宽度
- 如何根据用户在文本框中键入的内容更新标签文本
- Javascript 在更新面板和向导中设置标签文本重置
- 如何在标签文本更改时触发事件
- 如何添加类似于堆栈溢出系统的标签文本输入系统
- 使用 ajax 将鼠标悬停时更改标签文本
- 将 href 值替换为 asp.net 中的标签文本
- 如何在图形上的 x 轴标签文本后面添加元素
- html/更改标签文本