製品 ID を取得して操作する適切な方法を明確にしたいと思います。これが私の試みです:
HTML:
<div data-product-id="100"></div>
脚本:
var pid = $(this).attr('data-product-id');
$('#product_' + pid).css('display', 'none');
より良い方法はあり$('#product_' + pid)
ますか?
製品 ID を取得して操作する適切な方法を明確にしたいと思います。これが私の試みです:
HTML:
<div data-product-id="100"></div>
脚本:
var pid = $(this).attr('data-product-id');
$('#product_' + pid).css('display', 'none');
より良い方法はあり$('#product_' + pid)
ますか?
私が使用できる唯一の問題は、data()を使用してデータ属性にアクセスしないことです。それ以外の場合は、製品 ID 番号を使用し、それを product_ のようなプレフィックスに連結しても問題ありません。多くの要素がない場合は、p_ を使用していくつかのバイトを節約できます。 .
data() と attribute の違いを確認するには、この記事を参照してください。
var pid = $(this).data('product-id');
$('#product_' + pid).css('display', 'none');
単に次のようにしないのはなぜですか:
$('#product_id').hide();
しかし、あなたが主張するなら:
$('#product_' + $(this).data('product-id')).hide();
これを試して:
$('#product_' + $(this).data('product-id')).css('display', 'none');;
コードの唯一の本当の問題は、それがどの ID でも機能しないことです。たとえば、データ属性内にドットや括弧があると機能しません。
その場合、あなたはしなければならないでしょう
$(document.getElementById('product_' + $(this).data('product-id')))
.css('display', 'none');
自分が持っている ID が分かっていて、それが派手ではないことがわかっている場合、コードはほとんど問題ありません。