JS实现商品筛选功能
程序员文章站
2022-07-05 20:05:58
每天一个js 小demo之商品筛选。主要知识点:dom方法综合运用
效果图:
代码:
每天一个js 小demo之商品筛选。主要知识点:dom方法综合运用
效果图:
代码:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>document</title> <style type="text/css"> nav { height: 50px; } nav span { margin: 0 5px; } .show { color: red; } </style> </head> <body> <nav></nav> <ul> <li> <strong>手机:</strong> <a href="javascript:;">锤子t1</a> <a href="javascript:;">锤子t2</a> <a href="javascript:;">坚果u1</a> <a href="javascript:;">锤子m1</a> <a href="javascript:;">坚果pro</a> </li> <li> <strong>价格:</strong> <a href="javascript:;">3200</a> <a href="javascript:;">2600</a> <a href="javascript:;">899</a> <a href="javascript:;">2799</a> <a href="javascript:;">2299</a> </li> <li> <strong>屏幕:</strong> <a href="javascript:;">399</a> <a href="javascript:;">600</a> <a href="javascript:;">800</a> <a href="javascript:;">1200</a> </li> </ul> <script type="text/javascript"> (function(){ var nav = document.queryselector('nav'); var li = document.queryselectorall('li'); var ids = []; for(var i = 0; i <li.length; i++){ setclick(li[i],i); } function setclick(parent,index){ var option = parent.getelementsbytagname("a"); for(var i = 0; i < option.length; i++){ /* 建一个数组 */ option[i].onclick = function(){ for(var i = 0; i < option.length; i++){ option[i].classname = ""; } this.classname = "show"; var span = ids[index]; if(ids[index]){ span.children[0].innerhtml = this.innerhtml; return; } span = document.createelement("span"); var a = document.createelement("a"); var strong = document.createelement("strong"); a.innerhtml = "x"; a.href="javascript:;"; a.onclick = function(){ nav.removechild(span); ids[index]=""; /* 删除元素清空数组对象位 */ for(var i = 0; i < option.length; i++){ option[i].classname = ""; } } strong.innerhtml = this.innerhtml; span.appendchild(strong); span.appendchild(a); ids[index] = span; /* 元素生成之后,先存入数组的对应位 */ /* 按照数组的顺序重新添加一遍元素 */ for(var i = 0; i < ids.length; i++){ if(ids[i]){ nav.appendchild(ids[i]); } } }; } } })(); </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。