首页
学习
活动
专区
圈层
工具
发布

框架设计续集(六)

1.分析现状
代码语言:javascript
复制
<!--在组合选择器中-->
eg:
   getElem (“.con,.c”,context,results)
   
<!--假如-->
eg:
   getElem (“.con .box,.c h4”,context,results)
<!--那么以前的getElem方法就不能实现,所以在下面对次进行实现-->
2.思路分析及实现
代码语言:javascript
复制
/*基本选择器的实现 E */


/*组合选择器的实现 B */
/*怎么实现组合选择器eg:(".con",".box")
为了实现代码的服用,重新定义一个函数*/

/*对于后代选择器的实现*/
/*eg:select(".c .c1 .c2",context,results)
* 实现的思路就是将选择器字符串分割,然后循环调用getElem方法
*
* */


function select (selector,context,results){
    results = results || [];
    var newselector = selector.split(",");
    //因为传进来的选择器字符串两端可能有空格,为了防止出错,将其两端的空格去掉
   each(newselector,function(i,v){
       var list = v.split(" "),
           c= context;
       each(list,function(m,n){
           if(n){//防止字符串截取后,数组里有空字符串eg:".con   .box"
               /*遍历调用getElem函数,只是每次的上下文不一样,最后返回的结果就是我们需要的*/
               c = getElem(n,c)
           }
       });
       results.push.apply(results,c)
   });
    return results
}

/*组合选择器的实现 E*/

eg:
下一篇
举报
领券