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() と attribute の違いを確認するには、この記事を参照してください。

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

これを試して:

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

コードの唯一の本当の問題は、それがどの ID でも機能しないことです。たとえば、データ属性内にドットや括弧があると機能しません。

その場合、あなたはしなければならないでしょう

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

自分が持っている ID が分かっていて、それが派手ではないことがわかっている場合、コードはほとんど問題ありません。

于 2013-04-05T09:29:59.357 に答える