【发布时间】:2020-09-20 07:29:21
【问题描述】:
我正在使用 wordpress 和 woocommerce,我想添加一些脚本以在选择产品变体时使用 jQuery 运行。
我在 html 中有一组“按钮”,如下所示:
<div class="adsw-attribute-option">
<span class="meta-item-text sku-set" data-value="s">S</span>
<span class="meta-item-text sku-set" data-value="m">M</span>
<span class="meta-item-text sku-set" data-value="l">L</span>
<span class="meta-item-text sku-set" data-value="xl">XL</span>
<span class="meta-item-text sku-set" data-value="xxl">XXL</span>
<span class="meta-item-text sku-set" data-value="xxxl">XXXL</span>
</div>
我使用以下内容添加点击侦听器:
$(".adsw-attribute-option > .meta-item-text").on("click", () => {})
在处理程序内部,我需要读取被点击的“按钮”的data-value 属性。首先我尝试了:$(this).attr("data-value")。这返回了undefined。我尝试使用 .data 而不是 attr 函数,结果相同。
$(this) 的使用似乎有些问题,我无法读取它的任何属性,如 html 或类。
我认为$(this) 应该引用对象,即事件被调用,但似乎情况并非如此。
我在这里缺少什么?在这种情况下,还有其他方法可以检索“数据值”的值吗?
【问题讨论】:
-
喜欢人们重新发明单选按钮。
-
因为当你使用箭头函数时,
this将不是你点击的那个。 -
@epascarello 这是由插件生成的,无法控制
标签: javascript jquery wordpress woocommerce jquery-selectors