一、选择器的种类
1.根据获取页面中元素的不同,分为 基本选择器,层次选择器,过滤选择器,表单选择器四大类。
2.过滤选择器:简单过滤选择器、内容过滤选择器、可见性过滤选择器、属性过滤选择器、子元素过滤选择器、表单对象属性过滤选择器。
(1)、基本选择器
<1>根据#ID根据给定的Id匹配一个元素
$(function(){ $("#divOne").css("display","block"); })
<2>element根据给定的元素名匹配所有元素 $(function(){ $("div span").css("display","block"); })
<3>根据给定的.class根据给定的类匹配所有元素。$(".clsFrame .clsOne").css("display","block");
<4>* 匹配所有元素 $(function(){ $("*").css("display","block"); })
<5>selector1,selectorN将每一个选择器匹配到的元素合并后一起返回。 $("#divOne" ,span).css("display","block");
(2)、层次选择器
<1>根据祖先元素匹配所有的后代元素#$(function(){ $("div span").css{"display","block"} })
<2>$(function(){ //匹配子元素 $("div>span").css("display","block") })
<3>获取元素后面的相邻元素(1)$(function( $("#divMid+div").css("display","block") )}
(2)$("#divMid").next().css("display","block"); (获取元素后面的相邻元素只有一个)
《4》匹配元素后面的所有兄弟元素
(1)$("#divMid~div").css("div",block);
(2)$("#divMid").nextAll("div").css("display","block");( 注:只获取匹配元素后面的兄弟元素);
<5>$("#divMid").siblings("div").css("display","block"); //匹配所有相邻元素(获取全部相邻元素不分前后(不包括相邻元素的子元素即前后兄弟元素));
3、简单过滤选择器
过滤选择器是根据某类过虑规则进行元素的匹配,书写时都以:开头,简单选择其实是用最广泛的一种。
(1)first()或first获取第一个元素 $("li:first").addClass("GetFocus"); (另一种方法li.addClass("GetFocus");)
(2)last()或:last获取最后一个元素 $("li:last").addClass("GetFocus");
(3):not(selector)获取除给定选择器外的所有元素$("li:not(.NotClass).addClass("GetFocus")"); (另一种方法 li.not(":first").addClass("GetFocus");)
(4):even获取所有索引值为偶数的元素,索引号从0开始 $("li:even").addClass("GetFocus");
(5):odd获取索引值为基数的元素,索引值从零开始 $("li:odd").addClass("GetFocus");
(6):eq(index)获取指定所索引值的元素,索引值从零开始 $("li:eq(1)").addClass("GetFocus"); (另一种方法 li.eq(1).addClass("GetFocus");
(7):gt(index)获取所有大于给定索引值的元素,索引号从零开始 $("li:gt(1)").addClass("GetFocus");
(8):lt(index)或取所有小于给定索引值的元素,索引号从零开始 $("li:lt(4)").addClass("GetFocus");
(9):header获取所有标题类型的元素 $(":header").addClass("GetFocus");
(10):animated获取正在执行动画效果的元素
$(function(){
animate(); //增加动画效果元素类别
$("#spnMove").addClass("GetFocus");
})
function animate(){ //动画效果
$(#spanMove).slideToggle("slow",animateIt);
}
4、内容过滤选择器:
(1):contains(text)获取给定文本的元素 $("div:contains('A')").css("display","block"); 显示包含给定文本“A”的元素
(2) :empty 获取所有不包含子元素或者文本的空元素 $("div:empty").css("display","block"); 显示所有不包含子元素或者文本的空元素
(3):has(selector) 获取选择器所匹配的元素 $("div:has(span)").css("display","block"); 显示含有span标记的元素
(4) :parent获取含有子元素或者文本的元素 $("div:parent").css("display","block"); //显示含有子元素或者文本的元素
5、可见性过滤选择器
根据元素是否可见的特性获取元素
(1):hidden获取所有不可见元素,或者类型为hidden的元素集合 $("span :hidden").show().addClass("GetFocus");
(2):Visible获取所有的可见元素集合 $("div:visible").addClass("GetFocus");
6、属性过滤选择器
(1)[attribute]获取包含给定属性的元素 $("div[id]").show(3000); 获取所有含有ID属性的元素
(2)[attribute=value]获取等于给定的属性的是某个特定值的元素 eq: $("div[title='A']").show(3000); //显示所有属性title的值是"A"的元素
(3)[attribute!=value]获取不等于给定的属性是某个特定值的元素 eq: $("div[title!="A"]").show(3000); //显示所有属性title的值不是"A"的元素
(4)[attribute^=value]获取给定的属性是以某些值开始的元素 eq: $("div[title^='A']").show(3000); //显示所有属性title的值以"A"开始的元素
(5)[attribute$=value]获取给定的属性是以某些值结尾的元素 eq: $("div[title$='C']").show(3000); //显示所有属性title的值以"C"结束的元素;
(6) [attribute*=value] 获取给定的属性包含某些值的元素 eq: $("div[title*='B']").show(3000); //获取给定的属性含有"B"的元素
(7)[selector1][selector2][selectorN]获取满足多个条件的复合属性元素 $("div[id='divAB'][title='B']").show(3000); //显示所有属性title的值含有“B”且属性ID的值是“divAB”的元素.
7、子元素过虑选择器
(1):nth-child(eq|even|odd|index) //根据每个父元素的特定位置元素,索引号从1开始 $("li:nth-child(2)").addClass("GetFocus"); //增加每个父元素的第二个元素类别
(2):first-child / /获取每一个父元素的第一个元素 $("li:first-child").addClass("GetFocus"); //获取每个父元素的第一个子元素类别
(3):last-child //获取每个父元素的最后一个元素 $("li:last-child").addClass("GetFocus"); //获取每个父元素的最后一个元素类别
(4) :only-child //获取每个父元素的仅有一个元素 $("li:only-child").addClass("GetFocus"); //获取每个父元素下只有一个元素类别
8、表单对像属性过滤选择器
(1):enabled //获取表单中所有属性为可用的元素 $("#form1 input:enabled").addClass("GetFocus");
(2):disabled //获取表单属性为不可用的元素 $("#form1 input:disabled").addClass("GetFocus");
(3):checked //获取表单中所有被选中的元素 $("#form1 input:checked").addClass("GetFocues");
(4):selected //获取表单中所有被选中的option的元素 $("select option:selected").text();
9、表单选择器
(1):input 获取所有input 、textarea、select eq: $("#form1 :input").show(3000);
(2):text 获取所有单行文本框 eq: $("#form1 :text ") $("#form1 :text").show(3000);
(3):password获取所有密码框
(4):radio获取所有单选按钮
(5):checkbox 获取所有复选框
(6):submit //获取所有提交按钮
(7):image //获取所有图像域
(8):reset //获取所有重置按钮
(9) :button //获取所有按钮
(10):file //获取所有文件域 eq: $("#form1 :file").show(3000);