首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法通过Jquery从按钮元素获取数据属性

无法通过Jquery从按钮元素获取数据属性
EN

Stack Overflow用户
提问于 2021-03-10 02:38:21
回答 1查看 59关注 0票数 1

我无法从按钮元素中获取数据属性。

代码语言:javascript
运行
复制
<button
class="btn btn-solid navigate"
value="2"
data-productId={{$product->id}}
id="size-click"
>
Next
</button>

然后,我尝试这样获取它:

代码语言:javascript
运行
复制
  $("#size-click").click(() => {
    let width = $("#prod-width").val();
    let height = $("#prod-height").val();
    var prodId = $(this).data("productId");

    console.log('this is prodId');
    console.log(prodId);

    const data = {
      prodId: prodId,
      step: 'Size',
      width: width,
      height: height,
    }

    postDataEstimate(data);

  })

我也在尝试这样做:

代码语言:javascript
运行
复制
var prodId = $(this).attr('data-productId');

你能让我知道我错过了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-10 04:29:09

由于您使用的是arrow-function,因此this不会引用button

代码语言:javascript
运行
复制
$("#size-click").click(function() {
  var prodId = $(this).attr("data-productId");
  console.log('this is prodId');
  console.log(prodId);
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button
  class="btn btn-solid navigate"
  value="2"
  data-productId="1"
  id="size-click"
>Next</button>

如果您仍然想使用它,可以使用传递给函数的event

代码语言:javascript
运行
复制
$("#size-click").click(e => {
  var prodId = $(e.currentTarget).attr("data-productId");
  console.log('this is prodId');
  console.log(prodId);
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button
  class="btn btn-solid navigate"
  value="2"
  data-productId="1"
  id="size-click"
>Next</button>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66552850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档