top of page
bottom of page
function sortProducts(order) { // 1. 商品リストの要素を取得 const productList = document.getElementById('product-list'); const products = Array.from(productList.getElementsByClassName('product-item')); // 2. 価格で並び替え products.sort((a, b) => { const priceA = parseFloat(a.querySelector('.price').dataset.price); const priceB = parseFloat(b.querySelector('.price').dataset.price); if (order === 'asc') { // 安い順(昇順) return priceA - priceB; } else { // 高い順(降順) return priceB - priceA; } }); // 3. 並び替えたリストを再描画 products.forEach(product => { productList.appendChild(product); }); }
function sortProducts(order) { // 1. 商品リストの要素を取得 const productList = document.getElementById('product-list'); const products = Array.from(productList.getElementsByClassName('product-item')); // 2. 価格で並び替え products.sort((a, b) => { const priceA = parseFloat(a.querySelector('.price').dataset.price); const priceB = parseFloat(b.querySelector('.price').dataset.price); if (order === 'asc') { // 安い順(昇順) return priceA - priceB; } else { // 高い順(降順) return priceB - priceA; } }); // 3. 並び替えたリストを再描画 products.forEach(product => { productList.appendChild(product); }); }