题解 | #购物车#
购物车
https://www.nowcoder.com/practice/3b4a342351ce483e813e5588446fc1f8
function add(items) { let tbody = jsTrolley.querySelector('tbody') items.forEach(item => tbody.insertAdjacentHTML('beforeend', `<tr><td>${item.name}</td><td>${item.price.toFixed(2)}</td><td><a href="javascript:void(0);">删除</a></td></tr>`)) calCount() } function bind() { let tbody = jsTrolley.querySelector('tbody') tbody.onclick = function (event) { let target = event.target if (target.tagName != 'A') return target.closest('tr').remove() calCount() } } function calCount() { let tbody = jsTrolley.querySelector('tbody') let count = [].reduce.call(tbody.rows, (count, tr) => { let priceTd = tr.children[1] return count + parseFloat(priceTd.innerHTML) }, 0) jsTrolley.querySelector('tfoot').querySelector('td').innerHTML = `${count.toFixed(2)}(${tbody.rows.length}件商品)` };
不能用for of遍历dom对象tbody.rows,会失败,我也不知道为什么