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. git 回退和删除操作

    今天不小心把分支的commit提交到master上了.衰 主要通过下面几个命令解决了,很简单记录一下. git reset –hard  回退到某一个版本git push origin :xxxx  ...

  2. hdu 5442 Favorite Donut 后缀数组

    Favorite Donut Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid ...

  3. 关于开源的RTP——jrtplib的使用

    session.BeginDataAccess(); if (session.GotoFirstSource()){ do{ RTPPacket *packet; while ((packet = s ...

  4. protocol buffer的简单使用

    protocol buffer是一个高效的结构化数据存储格式,用来结构化数据的序列化与反序列化.目前支持java.c++.Python 相对于json而言: 数据量跟小 其他的还没看出什么优势 下载地 ...

  5. Docker intercontainer 网络解释

    https://segmentfault.com/a/1190000000669312

  6. careercup-排序和查找 11.7

    11.7 有个马戏团正在设计叠罗汉的表演节目,一个人要站在另一人的肩膀上.处于实际和美观的考虑,在上面的人要比下面的人矮一点.轻一点.已知马戏团每个人的高度和重量,请编写代码计算叠罗汉最多能叠几个人. ...

  7. 学习笔记之ulimit

    Linux对于每个用户,系统限制其最大进程数.为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数.可以用ulimit -a 来显示当前的各种用户进程限制. Linux/Unix ul ...

  8. com.classpath.www

    package com.classpath.www; import java.io.File; import java.net.URL; import javax.servlet.ServletCon ...

  9. 详解 Objective-C 中的 Runtime

    公司项目用到一个三方开源库,里面有个bug,不能改动源码,我想来想去,只能通过runtime这个万能的手段来解决.但是runtime 并不怎么会用,怎么办,马上学习呗.说到runtime,它是Obje ...

  10. word-wrap,word-break,text-wrap的区别

    今晚看到了无双老师关于word-wrap,word-break区别的讲解  http://www.cnblogs.com/2050/archive/2012/08/10/2632256.html 受益 ...