京东前端笔试购物车有能 AC 的吗?

RT
全部评论
function add(items) { html=document.querySelector("#jsTrolley tbody").innerHTML; items.forEach(function(item){ html+=""+item.name+""+item.Number+"删除" }); document.querySelector("#jsTrolley tbody").innerHTML=html; count(); } function count(argument) { var price=0; var trs=document.querySelector("#jsTrolley tbody"); for (var i =0; i <trs.rows.length; i++) { price+=parseFloat(trs.rows[i].childNodes[1].innerHTML); } document.querySelector("#jsTrolley tfoot").childNodes[0].childNodes[1].innerHTML=price+'('+trs.rows.length+'件商品)'; } function bind() { tb=document.getElementById("jsTrolley") tb.addEventListener("click",function (e) { if (e.target.tagName=='A'){ e.target.parentNode.parentNode.remove(); count(); } }); } var items=[{name:'123',Number:'10'},{name:'123',Number:'10'}] bind(); add(items)
点赞 回复 分享
发布于 2017-09-08 22:14
function bind() {     var doc = document     var tb = doc.getElementById('jsTrolley').getElementsByTagName('tbody')[0]     var handle = function (e) {          var tf = doc.getElementById('jsTrolley').getElementsByTagName('tfoot')[0]          var price = parseFloat(tf.getElementsByTagName('td')[0].innerText)  || 0                 if(e.target.nodeName.toLowerCase() == 'a') {                var  goodPrice = parseFloat(e.target.parentNode.parentNode.getElementsByTagName('td')[1].innerText)             tb.removeChild(e.target.parentNode.parentNode)                var price = parseFloat(tf.getElementsByTagName('td')[0].innerText)  || 0                var amount = tb.getElementsByTagName('tr').length || 0                price -= goodPrice                tf.getElementsByTagName('td')[0].innerText = price.toFixed(2) + '(' + amount + '件商品)'         }     }     tb.addEventListener('click',handle)     } function add(items) {     var doc = document     var tb = doc.getElementById('jsTrolley').getElementsByTagName('tbody')[0]     var tf = doc.getElementById('jsTrolley').getElementsByTagName('tfoot')[0]     try {        var price = parseFloat(tf.getElementsByTagName('td')[0].innerText)  || 0         var amount = tb.getElementsByTagName('tr').length || 0     }catch(e) {                  }         items.forEach(function(item){          price += item.price           amount++         tb.innerHTML +=  '<tr><td>'+ item.name +'</td><td>' + item.price.toFixed(2) +'</td><td><a href="javascript:void(0);">删除</a></td></tr>'     })                             tf.getElementsByTagName('td')[0].innerText = price.toFixed(2) + '(' + amount + '件商品)'   } //AC代码
点赞 回复 分享
发布于 2017-09-08 21:58
同预览没问题但0通过
点赞 回复 分享
发布于 2017-09-08 21:55
同百分之0,预览效果那里都能看到正确的。。
点赞 回复 分享
发布于 2017-09-08 21:41
在上面预览里功能啥的都正常,但是AC 0%。。。
点赞 回复 分享
发布于 2017-09-08 21:32
这道题是能在本地运行,浏览器查看的是吧?
点赞 回复 分享
发布于 2017-09-08 21:14
我也没AC……后来我想,会不会因为我用了ES6的语法,let和箭头函数之类的。但是没来得及改=  =
点赞 回复 分享
发布于 2017-09-08 21:14
function add(items) { var sum = 0, num = 0, html = "", table = document.getElementById("jsTrolley"), tbody = table.getElementsByTagName("tbody")[0], tfoot = table.getElementsByTagName('tfoot')[0], tr = tbody.getElementsByTagName("tr"); price = tfoot.getElementsByTagName('td')[0]; for (var i = 0; i < tr.length; i++) { var a = tr[i].getElementsByTagName('td')[1]; sum += parseFloat(a.innerHTML); } for(var i =0;i<items.length;i++){ sum += items[i].price; html += "<tr><td>"+items[i].name+"</td><td>"+items[i].price.toFixed(2)+"</td><td><a href='javascript:void(0);'>删除</a></td></tr>"; } html = tbody.innerHTML+html; tbody.innerHTML = html; num = tbody.getElementsByTagName("tr").length; price.innerHTML = sum.toFixed(2)+"("+num+"件商品)"; } function bind() { function fn(){ var node = this.parentNode.parentNode; node.parentNode.removeChild(node); var sum = 0,num=0; var tbody = document.getElementById("jsTrolley").getElementsByTagName("tbody")[0]; var tr = tbody.getElementsByTagName("tr"); for (var i = 0; i < tr.length; i++) { var a = tr[i].getElementsByTagName('td')[1]; sum += parseFloat(a.innerHTML); num++; } num = tbody.getElementsByTagName("tr").length; price.innerHTML = sum.toFixed(2)+"("+num+"件商品)"; } var del = document.getElementById("jsTrolley").getElementsByTagName("a"); for (var i = 0; i < del.length; i++) { del[i].onclick = fn; } } bind();
点赞 回复 分享
发布于 2017-09-08 21:12
本地正常,通过0%。。。
点赞 回复 分享
发布于 2017-09-08 21:07
+1
点赞 回复 分享
发布于 2017-09-08 21:07
没看清题干 题干说 传的是个对象数组 ** 我就默认传一个对象 sun dog
点赞 回复 分享
发布于 2017-09-08 21:06
本地没问题,0%
点赞 回复 分享
发布于 2017-09-08 21:05
这种题怎么能在控制台输入输出啊
点赞 回复 分享
发布于 2017-09-08 21:03
0%,本地再强也白搭
点赞 回复 分享
发布于 2017-09-08 21:03
有毒+1000,本地完全没有问题
点赞 回复 分享
发布于 2017-09-08 21:02
本地都ok啊。。为啥0%,有毒。。。
点赞 回复 分享
发布于 2017-09-08 21:00
一堆ac的,稍后发答案出来
点赞 回复 分享
发布于 2017-09-08 20:59
这个题……我估计没法测吧……
点赞 回复 分享
发布于 2017-09-08 20:58
很郁闷  ,本地写的代码 浏览器跑页面  测试没问题  都能实现添加删除价钱求和。 但是通过率 0% = =
点赞 回复 分享
发布于 2017-09-08 20:53

相关推荐

learYuan:🐕看了都摇头
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务