0

我想澄清什么是获取和操作产品 ID 的正确方法。这是我的尝试:

HTML:

<div data-product-id="100"></div>

脚本:

var pid = $(this).attr('data-product-id');
$('#product_' + pid).css('display', 'none');

有更好的方法$('#product_' + pid)吗?

4

4 回答 4

1

我可以使用的唯一问题是不使用data()访问数据属性,否则如果您没有很多元素,则使用产品 ID 号并将其与像 product_ 这样的前缀连接很好,否则您可以使用 p_ 来保存一些字节.

要查看 data() 和属性之间的区别,您可以阅读这篇文章

var pid = $(this).data('product-id');
$('#product_' + pid).css('display', 'none');
于 2013-04-05T09:26:44.063 回答
1

为什么不简单地这样做:

$('#product_id').hide();

但如果你坚持:

$('#product_' + $(this).data('product-id')).hide();
于 2013-04-05T09:26:53.310 回答
0

您的代码唯一真正的问题是它不适用于任何 id。例如,如果您的数据属性中有圆点或括号,它将不起作用。

在这种情况下,你必须做

$(document.getElementById('product_' + $(this).data('product-id')))
    .css('display', 'none');

如果你知道你有什么 ID,而且它们并不花哨,那么你的代码基本上没问题。

于 2013-04-05T09:29:59.357 回答
0

尝试这个:

 $('#product_' + $(this).data('product-id')).css('display', 'none');;
于 2013-04-05T09:27:24.067 回答