前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >框架设计续集(六)

框架设计续集(六)

作者头像
天天_哥
发布2018-09-29 14:15:54
5280
发布2018-09-29 14:15:54
举报
文章被收录于专栏:天天天天
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:
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.11.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.分析现状
  • 2.思路分析及实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档