哪里有网站建设定制免费微信公众号素材网
学习目标:
会使用基本选择器获取元素
 会使用层次选择器获取元素
 会使用属性选择器获取元素
 会使用过滤选择器获取元素
学习内容:
1.回顾jQuery语法结构
语法
$(selector).action; 
工厂函数$():将DOM对象转化为jQuery对象。
选择器 selector:获取需要操作的DOM 元素。
action():jQuery中提供的方法,其中包括绑定事件处理的方法。
2.jQuery选择器
jQuery选择器类似于CSS选择器,用来选取网页中的元素
$("h3").css("background","#09F"); 
获取并设置网页中所有<h3>元素的背景
“h3”为选择器语法,必须放在$()中
$(“h3”)返回jQuery对象
.css()是为jQuery对象设置样式的方法
3.jQuery选择器分类
jQuery选择器功能强大,种类也很多,分类如下
通过CSS选择器选取元素
基本选择器
层次选择器
属性选择器
通过过滤选择器选择元素 基本过滤选择器 可见性过滤选择器
3.基本选择器
基本选择器包括标签选择器、类选择器、ID选择器、并集选择器和全局选择器
|   名称  |   语法构成  |   描述  |   示例  | 
|   标签选择器  |   element  |   根据给定的标签名匹配元素  |   $("h2" )选取所有h2元素  | 
|   类选择器  |   .class  |   根据给定的class匹配元素  |   $(" .title")选取所有class为title的元素  | 
|   ID选择器  |   #id  |   根据给定的id匹配元素  |   $(" #title")选取id为title的元素  | 
|   并集选择器  |   selector1,selector2,...,selectorN  |   将每一个选择器匹配的元素合并后一起返回  |   $("div,p,.title" )选取所有div、p和拥有class为title的元素  | 
|   全局选择器  |   *  |   匹配所有元素  |   $("*" )选取所有元素  | 
3.1基本选择器3-1——标签选择器
标签选择器根据给定的标签名匹配元素
$(document).ready(function(){
$("dt").click(function(){
$("dd").css("display","block");
});
$("h1").css("color","blue");
}) 
3.2基本选择器3-2——类选择器
类选择器根据给定的class匹配元素
$(".price").css({"backgound":"#efefef","padding":"5px"}); 
3.3 基本选择器3-3——ID选择器
ID选择器根据给定的id匹配元素
$("#author").css("color","#083499"); 
3.4 基本选择器3-4——并集选择器
并集选择器用来合并元素集合
$(".intro,dt,dd").css("color","#ff0000"); 
3.5 基本选择器3-5——全局选择器
全局选择器可以获取所有元素
$("*").css("font-weight","bold"); 
4.层次选择器
层次选择器通过DOM 元素之间的层次关系来获取元素
|   名称  |   语法构成  |   描述  |   示例  | 
|   后代选择器  |   ancestor descendant  |   选取ancestor元素里的所有descendant(后代)元素  |   $("#menu span" )选取#menu下的<span>元素  | 
|   子选择器  |   parent>child  |   选取parent元素下的child(子)元素  |   $(" #menu>span" )选取#menu的子元素<span>  | 
|   相邻元素选择器  |   prev+next  |   选取紧邻prev元素之后的next元素  |   $(" h2+dl " )选取紧邻<h2>元素之后的同辈元素<dl>  | 
|   同辈元素选择器  |   prev~sibings  |   选取prev元素之后的所有siblings元素  |   $(" h2~dl " )选取<h2>元素之后所有的同辈元素<dl>  | 
4.1层次选择器4-1——后代选择器
后代选择器用来获取元素的后代元素
$(".textRight p").css("color","red"); 
4.2 层次选择器4-2——子选择器
$(".textRight>p").css("color","red"); 
4.3 层次选择器4-3——相邻选择器
相邻选择器用来选取紧邻目标元素的下一个元素
$("h1+p").css("text-decoration","underline"); 
4.4 层次选择器4-4——同辈选择器
同辈选择器用来选取目标元素之后的所有同辈元素
$("h1~p").css("text-decoration","underline"); 
5.属性选择器
属性选择器通过HTML元素的属性来选择元素
|   语法构成  |   描述  |   示例  | 
|   [attribute]  |   选取包含给定属性的元素  |   $(" [href]" )选取含有href属性的元素  | 
|   [attribute=value]  |   选取等于给定属性是某个特定值的元素  |   $(" [href ='#']" )选取href属性值为“#”的元素  | 
|   [attribute !=value]  |   选取不等于给定属性是某个特定值的元素  |   $(" [href !='#']" )选取href属性值不为“#”的元素  | 
|   [attribute^=value]  |   选取给定属性是以某些特定值开始的元素  |   $(" [href^='en']" )选取href属性值以en开头的元素  | 
|   [attribute$=value]  |   选取给定属性是以某些特定值结尾的元素  |   $(" [href$='.jpg']" )选取href属性值以.jpg结尾的元素  | 
|   [attribute*=value]  |   选取给定属性是以包含某些值的元素  |   $(" [href* ='txt']" )选取href属性值中含有txt的元素  | 
5.1根据属性名获取元素
属性选择器可以根据是否包含某属性来选取元素
$("#news a[class]").css("background","#c9cbcb"); 
5.2 根据属性值获取元素
属性选择器可以根据属性的值来选取元素
$("#news a[class='hot']").css("background","#c9cbcb"); 
5.3 根据属性值获取元素
属性选择器可以指定选取不等于属性是某个特定值的元素
$("#news a[class != 'hot']").css("background","#c9cbcb"); 
5.4 属性选择器可以指定属性值以指定值开头的元素
$("#news a[href^='www']").css("background","#c9cbcb"); 
5.5 根据属性值包含特定的值获取元素
属性选择器可以指定属性值以指定值结尾的元素
$("#news a[href$='html']").css("background","#c9cbcb");
 
5.6 根据属性值包含特定的值获取元素
$("#news a[href*='k2']").css("background","#c9cbcb");
 
6.过滤选择器
通过特定的过滤规则来筛选出所需的元素
主要分类
基本过滤选择器
可见性过滤选择器
表单对象过滤选择器
内容过滤选择器、子元素过滤选择器……
|   语法  |   描述  |   示例  | 
|   :first  |   选取第一个元素  |   $(" li:first" )选取所有<li>元素中的第一个<li>元素  | 
|   :last  |   选取最后一个元素  |   $(" li:last" )选取所有<li>元素中的最后一个<li>元素  | 
|   :not(selector)  |   选取去除所有与给定选择器匹配的元素  |   $(" li:not(.three)" )选取class不是three的元素  | 
|   :even  |   选取索引是偶数的所有元素(index从0开始)  |   $(" li:even" )选取索引是偶数的所有<li>元素  | 
|   :odd  |   选取索引是奇数的所有元素(index从0开始)  |   $(" li:odd" )选取索引是奇数的所有<li>元素  | 
实例 制作冬奥新闻列表页面
<div class="contain"><h2>祝福冬奥</h2><ul><li> 贝克汉姆:衷心希望北京能够申办成功!</li><li> 姚明:北京申冬奥是个非常棒的机会!加油!</li><li> 张虹:北京办冬奥,大家的热情定超乎想象! </li><li> 肖恩怀特:我爱北京,支持北京申办冬奥会!</li><li> 赵宏博:北京申办冬奥会是再合适不过了!</li><li> 你喜欢哪些冬季运动项目?(点击进入调查页)</li></ul>
</div>
 
6.1 :header选取网页中所有标题元素
$(".contain :header").css({"background":"#2a65ba","color":"#ffffff"});
 
$(".contain li:first").css({"font-size":"16px","color":"#e90202"});
$(".contain li:last").css("border","none");
$(".contain li:even").css("background","#f0f0f0");
$(".contain li:odd").css("background","#cccccc");
