题解 | #购物车#
购物车
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,会失败,我也不知道为什么