zoukankan      html  css  js  c++  java
  • 仿querySeletor 兼容IE 67

    <!doctype html>
    <html lang="en">
     <head>
      <meta charset="UTF-8">
      <meta name="Generator" content="EditPlus®">
      <meta name="Author" content="">
      <meta name="Keywords" content="">
      <meta name="Description" content="">
      <title>仿Jquery查询</title>
     </head>
     <body>
     <div  id="box" class="box">
        <ul  id="ulBox"  class="ulBox"  >
            <li></li>
            <li></li>
            <li></li>
        </ul>
     </div>
     <script type="text/javascript" src="DomUtil.js"></script>
       <script type="text/javascript">
              function $(str){
                 /*#box .ulBox li*/
                    /*
                     var currentEle=document;
                      先取到#box  然后得到#box元素 
                      保存在currentEle中
                      然后在#box元素下取到.ulBox 
                      考虑到类不是一个 所以一般取第一个操作就行
                       $(".box")[0]
                       保存在currentEle中
                      然后在ul.box 下取到 li
                       保存在currentEle中
                      每次查到元素 都要保存在一个变量中以便下次搜索时用
    
                     符串是用空格分开的
                     所以可以用 str.split(" ")分成好几个在遍历操作;
                      */
                
                 
                        currentEle=document;//保存每次查询的元素节点
                   var      arr=str.split(" ");//把字符串按空格分开变成数组
                   var      len=arr.length;
                   for(var i=0;i<len;i++)
                   {
                          var  firstSign = arr[i].substr(0,1);
    
                     if(firstSign!="." && firstSign!="#" )
                          {
                          
                               var      name=arr[i].substr(0);
    
                          }
                     else{
                               var      name =arr[i].substr(1);
                          }
                          
                   
                   switch(firstSign)
                   {
                    
                        case "." : currentEle=getElementsByClassName(name)[0];
                        break;
                        case "#" : currentEle=currentEle.getElementById(name);
                        break;
                        default : currentEle=currentEle.getElementsByTagName(name);
                    
                   }
    
             }
    
                 return currentEle;
                 }
         
         console.log($(".box .ulBox li"));
         
       </script>
     </body>
    </html>
  • 相关阅读:
    HashMap 常问的 9 个问题
    P1855 榨取kkksc03
    Codeforces Round #697 (Div. 3) A. Odd Divisor
    P1474 [USACO2.3]Money System / [USACO07OCT]Cow Cash G
    Codeforces Round #704 (Div. 2) D. Genius's Gambit
    P2800 又上锁妖塔
    P2066 机器分配
    P3399 丝绸之路
    P1351 [NOIP2014 提高组] 联合权值
    P4290 [HAOI2008]玩具取名
  • 原文地址:https://www.cnblogs.com/liveoutfun/p/9304735.html
Copyright © 2011-2022 走看看