我无法从按钮元素中获取数据属性。
<button
class="btn btn-solid navigate"
value="2"
data-productId={{$product->id}}
id="size-click"
>
Next
</button>然后,我尝试这样获取它:
$("#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);
})我也在尝试这样做:
var prodId = $(this).attr('data-productId');你能让我知道我错过了什么吗?
发布于 2021-03-10 04:29:09
由于您使用的是arrow-function,因此this不会引用button
$("#size-click").click(function() {
var prodId = $(this).attr("data-productId");
console.log('this is prodId');
console.log(prodId);
});<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:
$("#size-click").click(e => {
var prodId = $(e.currentTarget).attr("data-productId");
console.log('this is prodId');
console.log(prodId);
});<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>
https://stackoverflow.com/questions/66552850
复制相似问题