jquery基础教程 - 第二章 选择元素

内容提要

1、网页中元素的介绍

2、如何通过CSS选择符在页面中查找元素

3、扩展jquery标准的CSS选择符

4、让选择页面元素更灵活的DOM遍历方法

本章重点:让我们能够在DOM中快捷而又轻松地获取元素或元素的集合

1、网页中元素介绍

1.1理解DOM

-- JQUERY最大的特性之一就是它能够简化在DOM中选择元素的任务,

DOM 充当网页和javascript之间的接口,它以对象网络而非纯文本的形式来表现html的代码

<html>是网页中的祖先元素;

搞清楚子元素,父元素,同辈元素之间的关系

2、如何通过CSS选择符在页面中查找元素

2.1使用$()函数

-- jquery的各种选择符和方法取得的结果集合会被包装在jquery对象中;

创建jquery对象就需要$()函数;

-- 这个对象能接受CSS选择符作为参数,充当一个工厂,返回包含页面中对应元素的jquery

对象

所有能在样式表中使用的选择符都可以传给这个函数,随后我们可以对匹配的元素集合应用

jquery方法

2.2三种基本选择符

-- 标签名选择符、ID选择符、类选择符

-- 将方法连缀到$()工厂函数后面时,包装在jquery对象中的元素会被自动、隐式的循环

遍历。换句话说,这样就避免了使用for循环之类的显示迭代(这种迭代在dom脚本编程中

很常见)

2.3CSS选择符

-- jquery支持支持CSS规范1到CSS规范3的几乎所有选择符,所以,不必为那种浏览器不理

解某种不太常用的选择符而担心,只要该浏览器启用了javascript就没有问题

2.3.1基于列表项的级别添加样式

         $(document).ready(function(){
              $(‘#selected-plays > li‘).addClass(‘horizontal‘);
          });

$()函数中的选择符的含义是,查找ID为selected-plays的元素(#selected-plays)的子元

          素(>)中所有的列表项(li)

        $(document).ready(function(){
              $(‘#selected-plays > li‘).addClass(‘horizontal‘);
              $(‘#selected-plays > li:not(‘horizontal‘)‘).addClass(‘sub-lev‘);
          });

要为其他项(非顶级的项)添加样式,有很多种方式。因为已经为顶级项添加了horizontal

类,所以取得全部非顶级项的一种方式,就是使用否定式伪类选择符来识别没有horizontal

类的所有列表项。

2.4属性选择符

-- 属性选择符是CSS选择符中特别有用的一种选择符,属性选择符通过HTML元素的属性选

择元素

属性选择符使用一种从正则表达式中借鉴来的语法

^ 表示值在字符串的开始

$ 表示值在字符串的结尾

* 表示值在字符串的任意位置

2.4.1为链接添加样式

        $(document).ready(function(){        
              $(‘a[href^="mailto"]‘).addClass(‘mailto‘);
        });

选择A标签的href属性的值以mailto开头的元素

          $(document).ready(function(){            
              $(‘a[href$=".pdf"]‘).addClass(‘mailto‘);
           });

选择A标签的href属性的值以.pdf结尾的元素

          $(document).ready(function(){        
              $(‘a[href^="http"][href*="henry"]‘).addClass(‘mailto‘);
          });

选择A标签的href属性的值以http开头,并且在任意位置出现henry的元素

2.5自定义选择符(此处的自定义选择符是指jquery定义的选择符)

-- 这类选择符通常跟在CSS选择符后面,基于已经选择的元素集的位置来选择元素

            $(‘div.horizontal:eq(1))‘;

选择带有horizontal类样式的<div>集合中的第二项

        $(document).ready(function(){
              $(‘tr:even‘).addClass(‘alt‘);
         });

给dom中所有的奇数<tr>添加样式类alt,偶数使用odd

:nth-child 这个选择符相对于元素的父元素来进行计算,可以结束数字,odd,even作为参数

是jquery中唯一一个从1开始计数的选择符

        $(document).ready(function(){
              $(‘td:contains(Henry)‘).addClass(‘highlight‘);
        });

选择任何一个单元格的内容中包含Henry的元素,添加highlight样式类  :contains()          区分大小写

表单选择符

:input         输入类的元素

:button        按钮元素或type为button的元素

:enabled       启用的表单元素

:disabled      禁用的表单元素

:checked       勾选的单选按钮或复选框

:selected      选择的选项元素

2.6DOM遍历方法

.filter()方法会迭代所有匹配的元素,对每个元素都调用传入的函数兵进行测试函

数的返回值,true则保留,false则从匹配集合中删除相应元素

                $(‘tr‘).filter(‘:even‘).addClass(‘alt‘);

.next       选择匹配元素的后一个元素

        $(document).ready(function(){
              $(‘td:contains(Henry)‘).next().addClass(‘highlight‘);
         });

.nextAll    选择匹配元素的后面所有元素

        $(document).ready(function(){
              $(‘td:contains(Henry)‘).nextAll().addClass(‘highlight‘);
         });

.prev       选择匹配元素的钱一个元素

        $(document).ready(function(){
              $(‘td:contains(Henry)‘).prev().addClass(‘highlight‘);
         });

.prevAll    选择匹配元素的前面所有元素

        $(document).ready(function(){
              $(‘td:contains(Henry)‘).prevAll().addClass(‘highlight‘);
         });

.sliblings  选择处于相同DOM层次的所有其他元素

          $(document).ready(function(){
              $(‘td:contains(Henry)‘).sliblings().addClass(‘highlight‘);
         });
        $(document).ready(function(){
              $(‘td:contains(Henry)‘).nextAll().addBack().addClass(‘highlight‘);
         });

.addBack() 在选择的元素中再包含原来的元素

        $(document).ready(function(){
              $(‘td:contains(Henry)‘).parent().children().addClass(‘highlight‘);
         });

通过.parent()在DOM中追溯到上一层到达<tr>,然后再通过.children()选择该行的
         所有单
元格

2.7访问DOM元素

为什么要访问DOM:所有选择符表达式和多数jquery方法都返回一个jquery对象,而这通常是

我们所期望的因为jquery对象能够提供隐式迭代能力;但是有时候我们还是可能需要再代码

中直接访问DOM元素,

 var myTag = $(‘#my-element‘).get(0).tagName;
 简写:var myTag = $(‘#my-element‘)[0].tagName;

选择id为my-element的元素的标签名

时间: 2024-10-16 21:55:26

jquery基础教程 - 第二章 选择元素的相关文章

jquery基础教程 - 第一章 JQUERY入门

Jquery基础教程 - 第一章 JQUERY入门 内容提要 1.jquery能做什么 2.jquery为什么如此出色 3.第一个jquery驱动的页面 4.纯javascript与jquery 5.开发工具 6.小结 1.jquery能做什么 取得文档中的元素 -- jQuery为准确的获得需要检查或操纵的文档元素,提供了可靠而富有效率的选择符机制. 找到所有应用了.content class样式的div中所有的P标签             $('div.content').find('p'

Jquery基础教程第二版学习记录

本文仅为个人jquery基础的学习,简单的记录以备忘. 在线手册:http://www.php100.com/manual/jquery/第一章:jquery入门基础jquery知识:jquery能做什么:为什么需要jquery. 第二章:选择符工厂函数$()css选择符属性选择符自定义选择符DOM遍历方法 第三章:事件jQuery.noConflict([extreme]):运行这个函数将变量$的控制权让渡给第一个实现它的那个库.常用方法:(包括键盘,鼠标事件)blur([[data],fn]

python基础教程-第二章-列表和元组

本章将引入一个新的概念,:数据结构.数据结构是通过某种方式(例如对元素进行编号)组织在 一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序号--即元素的位置,也称为索引.第一个索引是0,第二个则是1,依次类推. 2.1 序列概览 python包含6中内建的序列,本章重点讨论最常用的两种:列表和元组.其他的内建序列类型字符串.Unicode字符串.buffer对象和xrange对象

python基础教程第二章

1.序列基础 序列:python包含6种内建的序列,常用的有:列表.元组.字符串.列表可以修改,元组和字符串不能修改. 索引:从0开始递增,通过索引获取元素:可使用负数索引,从右至左.最后1个元素的位置编号为-1: s = 'hello' print(s[-1]) print(s[5]) // error:不能通过索引获取不存在的元素: fourth = input('Year: ')[3] print(fourth) 切片:访问一定范围内的元素,返回新的序列,原序列不变:通过冒号来隔开两个索引

Ajax本地跨域问题 Cross origin requests are only supported for HTTP(针对jQuery基础教程第四版第六章)

出现的问题: 解决的步骤: 谷歌浏览器出现的效果: 针对jQuery基础教程(第四版),第六章  成功: 原文地址:https://www.cnblogs.com/qinghui258/p/8432569.html

《jQuery基础教程》读书笔记

最近在看<jQuery基础教程>这本书,做了点读书笔记以备回顾,不定期更新. 第一章第二章比较基础,就此略过了... 第三章 事件 jQuery中$(document).ready()与javascript原生的window.onload()区别: $(document).ready():通过该方法注册的事件处理程序,会在DOM完全就绪并使用时调用.虽然这意味着所有元素对脚本而言都是可访问的,但是,却不意味着所有关联的文件都下载完毕.当HTML下载 完成并解析成DOM树之后,代码就可以开始运行

jquery基础教程学习笔记一

最近静下心来看书才深刻的体会到:看书真的很重要,只有看书才能让你有心思静下心来思考. 重温<jquery基础教程> 一.事件 主要掌握常见的事件以及理解jquery的事件处理机制. 需要注意的有: 1.事件传播,包括了事件捕获和事件冒泡,以及怎么消除事件传播的影响,以及应用事件传播. 主要的方法有:a.根据事件目标来确定操作,即event.target b.阻止事件传播,即event.stopPapogation c.理解默认事件和jquery事件的区别还有阻止默认事件,即preventDef

《jQuery基础教程(第四版)》学习笔记

第2章 选择元素 1. 使用$()函数 $()函数其实是创建了一个jQuery对象. 这个函数接受CSS选择符作为参数,充当一个工厂, 返回包含页面中对应元素的jQuery对象. 所有能在样式表中使用的选择符都可以传给这个函数, 随后就可以对匹配的元素集合应用jQuery方法. 在jQuery中,美元符号$其实就是标示符jQuery的"别名". 2. 选择符 1. 基本选择符 $('p') //取得所有标签为p的元素 $('.class') //取得所有类为class的元素 $('#i

【jquery基础教程】jquery事件及操作大汇总

在学习Javascript语言中,有一个优秀的Javascript库是大家都会遇到的--jquery,今天小编汇总了jquery事件及操作,现在一起来看看jquery基础教程吧! 事件 bind()        向匹配元素附加一个或更多事件处理器 blur( )        触发.或将函数绑定到指定元素的 blur 事件 change()        触发.或将函数绑定到指定元素的 change 事件 click()        触发.或将函数绑定到指定元素的 click 事件 dblc