首页 > 试题广场 >

购物车

[编程题]购物车
  • 热度指数:11328 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
HTML模块为一个简化版的购物车,tbody为商品列表,tfoot为统计信息,系统会随机在列表中生成一些初始商品信息
1、请完成add函数,在列表后面显示items商品信息。参数items为{name: String, price: Number}组成的数组
2、请完成bind函数,点击每一行的删除按钮(包括通过add增加的行),从列表中删除对应行
3、请注意同步更新统计信息,价格保留小数点后两位
4、列表和统计信息格式请与HTML示例保持一致
5、不要直接手动修改HTML中的代码
6、不要使用第三方库
头像 前端小菜鸡QAQ
发表于 2021-07-08 10:07:45
// 新增行 function add(items) { var tbody = document.getElementsByTagName('tbody')[0] var tfoot = document.getElementsByTagName('tfoot')[0] / 展开全文
头像 牛客979740006号
发表于 2021-06-10 17:59:56
add() function add(items) { //items [{name, price}] //1.获取父节点 var tbody = document.getElementsByTagName('tbody')[0] var tfoot = docume 展开全文
头像 一根笔
发表于 2022-07-21 16:11:05
function add(items) {   let tbody = document.getElementsByTagName('tbody')[0];   let content =& 展开全文
头像 轻飘飘过wind
发表于 2022-09-07 17:12:21
简洁、易读 1. 封装一个公共函数用来计算total和渲染 2. add考察createElement 和appendChild 3. bind考察事件冒泡机制, 为tbody添加click事件 4. 注意保留两位小数 function resetTotal() 展开全文
头像 雾里看花花里看雾
发表于 2023-06-29 22:47:40
思路:add方法的思路是,将items中的元素映射为html内容并添加在tbody尾部,最后再调用getAmount函数更新商品总金额和总数量即可。bind方法的思路是,使用父元素监听,即使用tbody监听click事件,再在内部判断是否是a标签点击事件,如果是则将a标签的父元素的父元素即tr标签删 展开全文
头像 Jalrion
发表于 2021-05-29 10:52:06
思路 比较简单,基本上就步骤来,监听事件的时候可以监听父级节点利用点击事件冒泡一个监听就行了。 坑点 主要是 query 和 getElemnt 方法的区别: query 这类方法选择符选出来的元素及元素数组是静态的,不会随着文档操作而改变。query 使用比较方便。常用的querySelecto 展开全文
头像 菜鸟酱
发表于 2022-05-27 15:39:19
function add(items) {       var tbody = document.getElementsByTagName('tbody')[0]       var tfoot = document.getEl 展开全文
头像 littlecat7
发表于 2023-01-10 21:13:40
function add(items) { let tbody = jsTrolley.querySelector('tbody') items.forEach(item => tbody.insertAdjacentHTML('beforeend', `<tr><t 展开全文
头像 oldsaltyfishhead
发表于 2023-10-24 16:08:41
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> /* 填写样式 */ body,html{ 展开全文
头像 牛客606162351号
发表于 2023-05-27 21:11:23
function add(items) { const tbody = select('tbody')[0]; for(let i = 0; i < items.length;i++) { tbody.innerHTML += `<tr> 展开全文