• 每天一个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>

  • 相关阅读:
    测试软件—禅道BUG管理工具
    C语言 线性表的操作~(未完)
    数据库考纲~
    圣杯布局和双飞翼布局总局
    总结布局用法
    springboot~入门第三篇~与mybatis整合~(未完)
    微信小程序里 wx:for和wx:for-item区别(补充下wx:key)
    对比下小程序语法和Vue语法异同
    视频转换 rtsp 流 转rtmp流播放(待完善)
    Vue钩子函数~
  • 原文地址:https://www.cnblogs.com/catEatBird/p/7020945.html
Copyright © 2020-2023  润新知