2013-04-05 69 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