`
zuroc
  • 浏览: 1309684 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

DIY 简易Css选择器

阅读更多
随便写着玩玩,想当然的认为性能应该不错吧.不知道怎么测试.....................

使用演示
html 代码
 
  1. <script>  
  2. window.onload=function(){  
  3. alert($("#div1").innerHTML)  
  4. alert($("#div1 .class2 div")[0].innerHTML)  
  5.   
  6. }  
  7. <!---->script>  
  8. <!---->head><body>  
  9. <div id="div1">  
  10. div id="div1"  
  11.     <div class="class2">  
  12.         div class="class2"  
  13.               
  14.             <div>div<!---->div>  
  15.       
  16.     <!---->div>  
  17. <!---->div>  

js 代码
 
  1. function $A(o){  
  2.     var i=o.length,a=[];  
  3.     while(i)a[--i]=o[i]  
  4.     return i==0?a:[o];  
  5. }  
  6.   
  7. function copy(d,o) {  
  8.     for(var i in d)if(!o[i])o[i]=d[i]  
  9.     return o  
  10. }  
  11. function extend(d,o){copy(d,o.prototype)}  
  12.   
  13. extend({  
  14.     indexOf  
  15.         :  
  16.     function(o){  
  17.         var i=0,l=this.length;  
  18.         for(;iif(this[i]==o)return i;  
  19.         return -1;  
  20.     },  
  21.     U:  
  22.     function(p){//p:part  
  23.         var i=0,j,l=p.length;  
  24.         while(iif(this.indexOf(p[i])==-1)this.push(p[i++]);  
  25.     },  
  26.     each:  
  27.     function(f){  
  28.         var l=this.length,i=0;  
  29.         while(ithis[i++])  
  30.     }  
  31. },Array);  
  32.   
  33.   
  34. function $(o){  
  35.     //return window==this?new $(o):cssSelect(o,document);  
  36.     return css_select(o,document);  
  37. }  
  38.   
  39. function css_select(o,s){  
  40. //s:scope l:list g:get  
  41. o=o.split(' ');  
  42.   
  43. var l,g,c,d;  
  44.   
  45. //#应该只出现1次,如果出现应该是第1个  
  46. if("#"==o[0].charAt(0))s=s.getElementById(o.shift().substring(1));  
  47.   
  48. if(o[0]){  
  49.     s=[s];  
  50.     o.each(  
  51.     function(i){  
  52.             if("."==i.charAt(0))c=i.substring(1),i='*';  
  53.             l=[];  
  54.             s.each(function(e){  
  55.                 g=e.getElementsByTagName(i)  
  56.                 if(c){  
  57.                     d=$A(g);  
  58.                     g=[];  
  59.                     d.each(  
  60.                         function(e){  
  61.                             if(e.className.split(/\s+/).indexOf(c)>-1)g.push(e);  
  62.                         });  
  63.                     c=0;  
  64.                 }  
  65.                 l.U(g);  
  66.             });  
  67.             s=l;  
  68.     });  
  69. }  
  70.   
  71. return s;  
  72. }  
分享到:
评论

相关推荐

    CSS选择器.pdf

    在CSS选择器的体系中,存在多种不同类型的选择器,每种都有其特定的用途和使用场景。 首先,元素选择符是最基本的类型,包括通配符选择器、标签选择器、id选择器和class选择器。通配符选择器用“*”表示,可以选中...

    react-React组件的css选择器

    在React开发中,CSS选择器是用于特定于组件的样式化的一种强大工具。React组件的样式管理是一个关键的方面,因为它影响着应用的可维护性和性能。本篇将深入探讨React组件与CSS选择器的结合使用,以及如何优化组件的...

    scrapy爬虫之CSS选择器(比前面两个更全)

    相比XPath或其他方法,CSS选择器往往更简洁、直观,对于前端开发者来说尤其友好。 在Scrapy中,`Selector`类提供了对文档进行解析和提取数据的功能,而CSS选择器就是其主要的数据定位手段。使用CSS选择器,你可以像...

    CSS基本选择器实用PPT课件.pptx

    CSS 基本选择器 本资源摘要信息将着重介绍 CSS 基本选择器的概念、语法和应用,旨在帮助学习者快速掌握 CSS 基本选择器的使用和应用。 一、CSS 概念和语法 CSS 全称为 Cascading Style Sheet,即层叠样式表。它的...

    CSS选择器详细介绍

    常用选择器是 CSS 选择器中最基本的选择器,包括三种类型:ID 选择器、类选择器和标签选择器。 * ID 选择器:根据元素的 ID 来选择元素,例如 `#demoDiv{color:#FF0000;}`。在 HTML 中,元素可以定义一个 ID 属性,...

    一种可视化的方式来分析选择器在CSS中的特殊性

    **CSS选择器特殊性分析** 在CSS样式表中,选择器是用于指定元素样式的关键工具。它们决定了哪些规则将应用于页面上的特定元素。选择器的特殊性(Specificity)是CSS优先级的一种度量,用于解决当多个选择器同时影响...

    CSS选择器的介绍和使用.pdf

    CSS选择器的介绍和使用,什么是CSS选择器?CSS选择器可以用于我们需要添加的样式的标签。想要在HTMLl页面中的元素实现一对一,一对多或者多对一的控制,就得要使用css选择器,css选择器进控制着HTML页面中的元素。

    前端css选择器练习diner.zip

    6. **CSS3新选择器**:除了基础选择器外,CSS3引入了更多高级选择器,如`nth-child()`、`nth-of-type()`、`not()`、`matches()`等,它们增强了对元素选择的精确度和灵活性。 在"css-diner"练习中,你将有机会亲手...

    CSS选择器和jQuery选择器

    ### CSS选择器与jQuery选择器详解 #### 一、引言 在现代Web开发中,选择器扮演着至关重要的角色。无论是对HTML元素应用样式还是对其进行动态操作,选择器都是必不可少的工具。本文将深入探讨两种常用的选择器——...

    css选择器 的概要介绍与分析

    CSS选择器的灵活性和多样性是CSS强大之处的关键因素之一。下面是一些关于CSS选择器的资源描述。 ### CSS选择器资源描述 #### 1. **官方文档与教程** - **MDN Web Docs**:Mozilla提供的MDN Web Docs是学习CSS选择...

    利用css+javascript实现的一个日期选择器代码

    【标题】:“利用css+javascript实现的一个日期选择器代码”涉及的核心知识点主要集中在CSS样式设计和JavaScript编程上,用于创建一个交互式的日期选择组件。日期选择器是网页表单中常见的一种元素,允许用户方便地...

    scrapy爬虫下的CSS选择器使用

    CSS选择器支持多种语法,包括标签选择器(如`div`),类选择器(如`.class_name`),ID选择器(如`#id_name`),以及属性选择器(如`[attr=value]`)。例如,获取所有类名为`article`的`&lt;p&gt;`元素: ```python ...

    css选择器介绍

    本文将深入探讨CSS选择器的种类、用法及其在实际开发中的应用。** 首先,我们要了解CSS选择器的基本分类: 1. **类型选择器**:基于元素的标签名进行选择,如`h1`,`p`等。 2. **类选择器**:使用`.`前缀,匹配...

    css属性选择器理解案列

    理解css属性选择器

    HTML5&CSS3网页制作:CSS基础选择器.pptx

    理解并熟练使用这些基础选择器是CSS学习的关键步骤。通过它们,你可以更有效地控制网页的布局和视觉呈现。在实际项目中,通常会结合使用这些选择器,以及更复杂的后代选择器、伪类选择器等,来创建更精细的样式规则...

    CSS选择器-xmind

    CSS选择器 xmind - 选择器分类(ID选择器,类选择器,标签选择器,通配选择器,属性选择器,伪类选择器)。 - 选择器关系(分组,后代,子元素,相邻兄弟,后续兄弟)。 - CSS特性(优先级,继承,层叠)。

    CSS选择器.docx

    以下是对CSS选择器的详细介绍: 一、基本选择器 通用选择器(*): 匹配HTML或XML文档中的所有元素。 例如:* { margin: 0; padding: 0; } 将所有元素的外边距和内边距设置为0。 元素(标签)选择器(E): 通过...

Global site tag (gtag.js) - Google Analytics