zoukankan      html  css  js  c++  java
  • 每天一个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>

  • 相关阅读:
    Http请求处理整个过程
    C#文件下载方法
    EF链接ORACLE
    js复制功能的有效方法总结新
    js复制功能的有效方法总结
    pre即可保持原来样式也可以换行
    读取url后参数方法
    同名窗口不能重新打开
    2020/06/19 mysql 表分组查询 表约束 主键 外键 外键约束
    2020/06/17 mysql 表内容的增删改查
  • 原文地址:https://www.cnblogs.com/catEatBird/p/7020945.html
Copyright © 2011-2022 走看看