jquery利用了CSS选择符的能力,让我们能够在DOM中快捷而轻松的获取元素或元素集合。本章将介绍以下内容:  1、网页中的元素结构;  2、如何通过CSS选择符在页面中查找元素;  3、扩展jquery标准的CSS选择符;  4、让选择页面元素更灵活的DOM遍历方法;一、如何理解DOM?  DOM中的对象网络与家谱十分相似。比如祖先元素父元素子元素等等。  元素之间的关系图从下面的图就可以看清楚:    为了把DOM结构更形象的表现出来,可以使用很多工具,列如FirefoxFirebug插件,SafariChrome中的Web Inspector等。二、如何使用$()函数?  我们通过jquery的各种选择符和方法取得的结果集合会被包装在jquery对象中。通过对象实际的操作这些元素会非常简单,可以轻松地为jquery对象绑定事件、添加漂亮的效果,也可以将多重修改通过jquery对象连缀在一起。  为了创建jquery对象,就要使用$()函数。这个函数接受CSSS选择符作为参数。充当一个工厂,返回包含页面对应元素的jquery对象。  有3种基本的选择符:标签名ID。这些选择符可以单独使用,也可以与其他选择符组合使用。  三、CSS选择符都有哪些?  ① 属性选择符;    属性选择符是CSS选择符中特别有用的一类选择符,顾名思义,属性选择符通过HTML元素的属性选择元素,例如链接的title属性或图像的alt图像。
$('img[alt]')
  ② 自定义选择符;    除了各种CSS选择符外,jquery还添加了独有的完全不同的自定义选择符。    jquery中的多数自定义选择符都可以让我们从已经找到的元素中选出一或多个元素。自定义选择符的语法与CSS中的伪类选择符语法相同,既选择符以冒号(:)开头。    例如,我想从带有horizontal类的<div>集合中选择第二项;
$('div.horizontal:eq(1)')
  ③ 每隔一行为表格添加样式    jquery库中的两个十分有用的自定义选择符是:odd:even;    :odd可以为表格中偶数行改变样式;    :even则相反,为表格中奇数行改变样式;    为什么针对奇数行使用:even选择符呢?很简单,:eq()选择符、:odd:even选择符都使用javaScript内置从0开始的编号方式,因此,第一行的编号为0(偶数),第二行的编号为1(奇数),以此类推;  ④ :nth-child()选择符    :nth-child()是jquery中唯一从1开始计数的选择符;  ⑤ 基于表单的选择符        [ 以上只是对选择符表达式的简答介绍,以后会逐步讨论选择符 ]四、如何DOM遍历?  很多情况下,取得某个元素的父元素或者祖先元素都是基本的操作,而这正是jquery和DOM遍历方法的用武之地。  如果没有筛选函数,就必须显示地遍历每个元素,对他们单独进行测试,但是,有了下面的筛选函数,仍然可以利用jquery的隐式迭代能量,保持代码的简介。
$('a').filter(function(){
    return this.hostname && this.hostname != location.hostname;
}).addClass('external');
  第二行代码可以筛选出符合下面两个条件的<a>元素。   1、必须包含一个带有域名(this.hostname)的href属性。这个测试可以排除mailto级类似链接;   2、链接指向的域名(this.hostname)必须不动于页面当前所在域的名称(location.hostname);   更准确的说,.filter()方法会迭代所有匹配的元素,对每个元素都调用传入的函数并测试函数的返回值,如果函数返回的是false,则从匹配集合中删除相应元素;如果返回的是true,则保留相应元素。  
       

    

Web前端新人笔记之jquery选择符的更多相关文章

  1. Web前端新人笔记之jquery入门

    本章将为大家介绍以下几点内容: 1.jquery的主要特点: 2.建立jquery的编码环境: 3.简单jquery脚本示例: 4.选择jquery而不是纯javaScript的理由: 5.常用的jq ...

  2. Web前端学习笔记之jQuery选择器

    JQuery过滤器 经过一晚上的查找整理,终于整理出一套应该算最全面的JQuery选择过滤器的方法了.所有代码均经过测试.首先HTML代码 HTML Code <html><head ...

  3. Web前端新人笔记之了解Jquery

    与javaScript相比,Jquery更简洁.浏览器的兼容性更强,语法更灵活,对xpath的支持更强大.一个$符就可以遍历文档中各级元素.例:在页面上有一个无序列表,我们需要将所有列表项中的文本内容 ...

  4. Web前端学习笔记之jQuery基础

    0x0 jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Aja ...

  5. Web前端新人笔记之文本属性

    前一段时间因工作时间减缓了更新笔记的时间.我也不知道有没有会观看并且能不能帮到一些初学者,这只是我的一些小随笔而已.当然我也希望的的每一篇随笔都可以帮到更多的想要学习前端开发的初学者们,更希望你们也可 ...

  6. Web前端新人笔记之CSS字体

    本章内容是阅读CSS权威指南的一个小积累和随笔.新人必看,老鸟也可查看并指出不足指出以便后人阅读更好地理解.O(∩_∩)O谢谢!!!设置字体属性时样式变的最常见的用途之一:不过,尽管字体选择很重要,但 ...

  7. Web前端新人笔记之height、min-height的区别

     浏览器参照基准:Firefox, Chrome, Safari, Opera, IE: * IE6不支持CSS min-height属性.最小高度的定义:1. 元素拥有默认高度:2. 当内容超出元素 ...

  8. Web前端新人笔记之CSS值和单位

    数字 颜色——命名颜色 在Css2.1中规范定义了17个颜色名.包括html4.0中定义的16个颜色及外加一个橙色: <h1 style="color=aqua">aq ...

  9. Web前端新人笔记之CSS结构和层叠

    上一篇文章介绍了如何利用CSS选择器为元素应用各种丰富的样式,每个合法的文档都会生成一个结构树,了解这一点,就能根据元素的祖先.属性.兄弟等元素穿件选择器选择元素. 本篇文章将讨论3中机制之间的关系: ...

随机推荐

  1. 传const引用代替传值

    1.为什么使用传const引用? a.被调方法中,形参不再进行copy构造,以及析构,提高效率. b.传值,会出现对象切割的问题. 2.有没有例外? 在编译器底层,引用是使用指针实现的.这就意味着,如 ...

  2. ThinkPHP CURD方法盘点:limit方法

    limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多.ThinkPHP的limit方法可以兼容所有的数据库驱动类的. 用法 限制结果数量 例如获取满足 ...

  3. Centos 7 yum 安装php

    yum install php php-devel 重启apache使php生效 /etc/init.d/httpd restart 此时可以在目录:/var/www/html/下建立一个PHP文件 ...

  4. js 如何把JSON格式的字符串转换为JSON对象

    直接用eval函数.例:var str1 = '{ "url": "www.51qdq.com", "name": "js&quo ...

  5. IOS debug网络PonyDebugger 实践篇

    引言:  PonyDebugger是一个很给力的iOS调试工具,它的监视器安装在Chrome浏览器下做为插件使用,通过监视器和PonyDebugger的iOS SDK相辅相成,可以很好的监视App的运 ...

  6. petshop4.0 具体解释之中的一个(系统架构设计)

    前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有很多.Net与J2EE之争,很多数据是从微软的PetShop和Sun的PetStore而来.这样的争论不可避免带有浓厚的 ...

  7. Gradle的安装与配置

    Gradle的下载地址:http://gradle.org/gradle-download/ Tips:要先安装JDK并配置其环境变量. 下载完成后将里面的文件解压出来,如下图所示: 添加一个名称为G ...

  8. How the Kernel Manages Your Memory

    http://duartes.org/gustavo/blog/post/how-the-kernel-manages-your-memory/ After examining the virtual ...

  9. stitching detail输出的dot图含义

    如果利用opencv里面提供的stitching detail的话. 输入参数: stitching_detail --save_graph a.dot 1.png 2.png 其中a.dot 文件中 ...

  10. Android 自学之拖动条SeekBar

    拖动条(SeekBar)和进度条非常相似,只是进度条采用颜色填充来表明进度完成的程度,而拖动条则通过滑块的位置来标识数值----而且拖动条允许用户拖动滑动块来改变值,因此拖动条通常用于对系统的某种数值 ...