jQuery 第二章
简介:探索一些CSS和XPath选择符,以及JQuery独有的自定义选择符。介绍JQuery的DOM便历方法
1。DOM
jQuery 最强大的方面之一就是它能够简化DOM遍历任务。
2。工厂函数$()
放到圆括号中的任何元素都将自动执行循环遍历,并且会被保存到一个JQuery对象中。
标签名:$(‘p’)会取得文档中所有在段落。
ID:$(‘#some-id’)会取得文档中具有对应的some-id ID的一个元素。
类:$(‘.some-class’)会取得文档中带亦some-class 类的所有元素。
提示:美元符号$只不过是对标识符jQuery的一种简写方式。如果冲突可将$替换JQuery
3。当在JQuery代码中使用$(document).ready()结构时,位于其中的所有代码都会在DOM加载后立即执行。
例1:$(document).ready(function(){
$(‘#selectedplays>li’).addClass(’horizontal’); /*查找ID为 selected-plays 的元素(#selected-plays)的
子元素(>)中所有的列表项(li)*/
});
>:将horizontal类只添加到位于顶级的项中。
例2:$(document).ready(function(){
$('#selectedplays>li').addClass('horizontal');
$('#selectedplaysli:not(.horizontal)').addClass('sublevel'); /*没有horizontal类(not(.horizontal))*/
})
4。在涉及属性选择符(attribute selector)时,jQuery使用了XPath中的惯例来标识属性,即将属性前置一个@符号并放在一对方括号中。
例如,要选择所有带title属性的链接,可以使用下面的代码:
$('a[@title]')
此外,方括号在XPath语法中还有另外一种用途,即在不带前置@符号的情况下,可以用来指定包含在另一个元素的元素。
例如,取得包含一个ol元素的所有div元素:$('div[ol]')
5。属性选择符允许以类似正则表达式的语法来标识字符串的开始(^)和结尾($)。而且,也可以使用星号(*)表示字符串的任意位置。
例如:以不同的文本颜色来显示不同类型的链接。
(1)首先要在样式表中定义如下样式:
a.mailto{
color:#f00;
}
a.pdflink{
color:#090;
}
a.mysite{
textdecoration:none;
borderbottom:1px dotted #00f;
}
(2)然后,可以使用jQuery 为符合条件的链接添加3个类:mailto、pdflink、mysite。
要取得所有电子邮件链接,需要构造一个选择符,用来寻找所有带href属性([@href])且以mailto开头(^="mailto:")的锚元素(a)。结果如下所示:
$(document).ready(function(){
$('a[@href^="mailto:"]').addClass('mailto');
});
要取得所有指向PDF文件的链接,需要使用美元符号($)而不是脱字符号(^),来取得所有带href属性并以.pdf结尾的链接,相应的代码如下所示:
$(document).ready(function(){
$('a[@href^="mailto:"]').addClass('mailto');
$('a[@href$=".pdf"]').addClass('pdflink');
})
(3)最后,要 取得所有内部链接,即到mysite.com中其他页面的链接,则需要使用星号:
$(document).ready(function(){
$('a[@href^="mailto:"]').addClass('mailto');
$('a[@href$=".pdf"]').addClass('pdflink');
$('a[@href*="mysite.com"]').addClass('mysite');
});
6。自定义选择符,选择符以一个冒号(:)开头。
例如:我们想要从匹配的带有horizontal类的div集合中,选择第2个项,那么应该使用下面的代码:
$('div.horizontal:eq(1)')
注意:因为JavaScript数组采用从0开始的编号方式,所以eq(1)取得的是集合中的第2个元素。
而CSS则是从1开始的,因此CSS选择符$('div:nth-child(1)')取得的是作为其父元素第1个子元素的所有div.
自定义选择符 :odd和:even。
例如:通过这两个选择符为表格添加基本的条纹样式。
<table>
<tr>
<td>As You Like It </td>
<td>Comedy</td>
</tr>
<tr>
<td>All's Well that Ends Well </td>
<td>Comedy</td>
</tr>
<tr>
<td>Hamlet</td>
<td>Tragedy</td>
</tr>
<td>Macheth</td>
<td>Tragedy</td>
<tr>
<td>Romeo and Juliet</td>
<td>Tragedy</td>
</tr>
<tr>
<td>Henry IV,Part I</td>
<td>History</td>
</tr>
<tr>
<td>Henry V</td>
<td>History</td>
</tr>
</table>
我们可以向样式表中添加两个类,一个用于为奇数行添加样式,另一个用于为偶数行添加样式:
odd{
backgroundcolor:#ffc;
}
.even{
backgroundcolor:#cef;
}
最后,编写jQuery代码,将这两个类添加到表格行(<tr>标签)中:
$(document).ready(function(){
$("tr:odd").addClass("odd");
$("tr:even").addClass("even");
});突出显示可用 :contains()选择符,如:.hightlight{font-weight:bold;color:#f00;}
<script>
$(document).ready(function(){
$("tr:odd").addClass("odd");
$("tr:even").addClass("even");
$('td:contains("Henry")').addClass("hightlight");
});
</script>
7。.get()方法
例如:如果想知道带有id="my-element"属性的元素的标签名,应该使用如下代码:
var myTag=$('#myelement').get(0).tagName; 或者简写为$('#my-element')[0],也就是说,可以在选择符后面直接使用方括号。
转载于:https://www.cnblogs.com/jw123/archive/2011/01/17/1937607.html
jQuery 第二章相关推荐
- Jquery第二章常用方法,一二级菜单淡入淡出,event事件,复选框的全选反选第一节
hide() show() 通过滑动效果 slideToggle() 淡入淡出 fadeIn() fadeout() 向上 向下拉动 slideup() slidedown() 源码: <!DO ...
- Jquery第二章appendTo方法到方法的使用练习第二节
效果图 源码: <!DOCTYPE html> <html lang="en"> <head><meta charset="UT ...
- jQuery第二章选择器
标题 1:基础选择器 id # class . 标签 div * 通配符 群组 #box,p css() 一个值的时候是找这个元素的值,两个值的时候是设置样式举例 找元素的值:alert($('p') ...
- 北大青鸟 JQuery制作特效 第二章 (上机练习
北大青鸟 JQuery制作特效 第二章 (上机练习 练习一丶制作简易的当当购物车页面 <!DOCTYPE html> <html> <head lang="en ...
- python数据结构题目_《数据结构与算法Python语言描述》习题第二章第三题(python版)...
ADT Rational: #定义有理数的抽象数据类型 Rational(self, int num, int den) #构造有理数num/den +(self, Rational r2) #求出本 ...
- 第二章 指南(4.3)添加 View
原文:Adding a view 作者:Rick Anderson 翻译:魏美娟(初见) 校对:赵亮(悲梦).高嵩(Jack).娄宇(Lyrics).许登洋(Seay).姚阿勇(Dr.Yao) 本节将 ...
- mysql数据库权威指南_MySQL_MySQL权威指南读书笔记(三),第二章:MYSQL数据库里面的数 - phpStudy...
MySQL权威指南读书笔记(三) 第二章:MYSQL数据库里面的数据 用想用好MYSQL,就必须透彻理解MYSQL是如何看待和处理数据的.本章主要讨论了两个问题:一是SQL所能处理的数据值的类型:二是 ...
- 跟我一起学jQuery——第二集(未完待续..)
<锋利的JQuery>第二版阅读笔记-第二章 跟我一起学jQuery--第二集 代码风格 jQuery选择器 接下来,就要开始正式学习jQuery的各种使用了.但是没有规矩不成方圆,所以我 ...
- 《风尚坐火箭学习vue》-- 第二章:页面中输出hello Vue
前言:前端框架千千万,独有vue占一半 我是风尚,让我们一起坐火箭去学习Vue 图片来自vue官网 第二章:hello Vue 上章回顾:风尚内心答应了跟白发老头学习vue 风尚内心答应了跟白发老头学 ...
最新文章
- Angular1.x入门级自定义组件(导航条)
- 自建MySQL和阿里云RDS的区别 有必要使用云数据库吗?...
- UART串口通信浅谈之(一)--基础概述
- matlab删失数据威布尔,基于混合I型删失数据威布尔模型的可接受抽样计划
- 设置vmware vsphere web client_Arduino+前端高级应用-通过WEB网页控制Arduino开发板上的LED灯...
- apache camel_Apache Camel –从头开始开发应用程序(第1部分/第2部分)
- LeetCode 468. 验证IP地址
- mysql迁移至postgresql_PostgreSQL来自欧罗巴Patroni系列技术主题一
- div背景透明内容不透明与0.5PX边框兼容设置
- python-索引1909
- 测试是为了对软件质量进行度量和评估,软件测试复习题
- ios 添加条纹背景
- R语言数据挖掘实战系列(4)
- 机器视觉硬件之工业相机(一)
- 【最短路】【spfa】CDOJ1633 去年春恨却来时,落花人独立,微雨燕双飞
- 考研笔记-chyer
- 万达电商为何刻意回避阿里与马云
- 京东商城网页数据爬取
- 史上最全的数据库面试题,面试前刷一刷
- PHPUnit袖珍指南 第六章 装置器
热门文章
- 华为USG Firewall Ipsec L2L
- 23 Merge k Sorted Lists
- 访华为5G首席科学家童文:针尖战略引领5G突破
- apc220使用心得
- POJ 3748:位操作
- python 安装easy_install和pip
- 备份集中的数据库备份与现有的 '***' 数据库不同 RESTORE DATABASEnbs
- js中document.getElementById(ID)与document.getElementsByName(Name)的区别
- AJAX Control Toolkit - DropDown
- Open×××的新钩子设计