2013-04-05 87 views
0

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

HTML:

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

脚本:

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

有没有更好的方式$('#product_' + pid)

回答

1

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

要查看数据()和属性之间的差异,您可以阅读article

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

我看到我的标题是误导性的。改变了。 – Cudos 2013-04-05 09:34:32

+0

更新了我的答案。 – Adil 2013-04-05 09:40:07

1

为什么就不能做到像:

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

,但如果你坚持:

$('#product_' + $(this).data('product-id')).hide(); 
0

试试这个:

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

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

在这种情况下,你就必须做

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

如果你知道你有什么ID,并且他们不花哨,那么你的代码主要是罚款。

+0

好点。我的产品ID只是一个数字,所以它应该没问题。 – Cudos 2013-04-05 09:35:19

+0

那么,除了非常小的数据外,关于你的代码没有什么可说的。 – 2013-04-05 09:40:01