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. android常见错误--INSTALL_FAILED_DEXOPT

    出现上面的问题,是由于手机的内存不足导致的,需要清理一下手机的内存,然后就可以了

  2. Project Management - 1) Schedule Your Project

    1. 根据项目的理解,列出主要的里程碑. (初始甘特图) 2. 多使用即时贴,甘特图可以贴在墙上以供项目组成员提醒. 3. 切忌过早细化项目日程,这样会让老板或出资人以为项目中几乎没有风险, 他们会把 ...

  3. php获取内容中第一张图片地址

    $note = '<img src="http://images.xxx.com/article/cover/201601/20/141539161273.png?imageView2 ...

  4. 增强的for循环(或foreach)

    增强的for循环(也称为foreach循环):不用下标变量,顺序的訪问整个数组.不能以其它顺序訪问数组,或者改变数组的元素. for(elementType element: arrayRefVar) ...

  5. shell修改文件名(一)

    假如文件名是:time_filename.txt 改成filename_time.txt.例如20111111_me.txt改成me_201111111.txt要如何修改? #! /bin/sh fo ...

  6. 斐波那契数列_java版本

    package 斐波那契数列; public class fbnq { public static void main(String[] args){ System.out.println(fibon ...

  7. if elseif else

    1)if,else if需要接判断表达式,只有在满足条件的时候执行而else语句是在前面条件都不满足的时候才能执行(2) 一个if...else if...else语句中可以有多个else if语句, ...

  8. java.lang.NoSuchFieldError: RAW_XML_FILE_HEADER,调用XWPFTemplate动态合并生成一个新的docx文档时报错

    在使用 org.apache.poi 对office文件  根据表单内容和已上次的附件 动态合并成一个新的文档时,本地调试完全ok 但是发布倒Linux环境上就老是报这个错误java.lang.NoS ...

  9. AppUse学习笔记

    AppUse学习笔记http://www.docin.com/p-786350740.html

  10. Google搜索技术

    命令 双引号 把搜索词放在双引号中,代表完全匹配搜索,也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必须完全匹配.bd和Google都支持这个指令. 减号 减号代表搜索不包含减号后面的 ...