二.jQuery高级选择器
针对上次课有点复杂的选择器,或之前没有接触过的选择器。
为什么要反复的讲选择器,这个就是jQuery的一个核心点,在之前js的时候,通过复杂的document.getElement(s)ById|ByTagName|ByClassName等等,这些方式,找页面的元素对象。同样,在jQuery里面,我们要操作页面对象还是需要找对象,找页面对象,就是通过各类的选择器来找,简化我们的业务代码量。
$(“各类选择器”)–>对象
$(“各类选择器”).操作
$(“div”).css(‘属性’,\”值)
$(\”#result\”).val(result)
$(\”#jia\”).click(function(){
//在这里我们可以若干操作的代码1
})
2.1基本过滤选择器
基本过滤选择器
符号 说明 用法
:eq(index) index是从0开始的下一个数字,选择序号为index的元素.(选择第一个匹配的元素) $(“li:eq(1)”).css(“background”,“red”)
:gt(index) index是从0开始的一个数字,选择序号大于index的元素 $(“li:gt(2)”).css(“background”,“red”)
:lt(index) index是从0开始的一个数字,选择序号小于index的元素 $(“li:lt(2)”).css(“background”,“red”)
:odd 选择所有序号为奇数行的元素 $(“li:odd”).css(“background”,“red”)
:even 选择所有序号为偶数行的元素 $(“li:even”).css(“background”,“red”)
:first 选择匹配第一个元素 $(“li:first”).css(“background”,“red”)
:Iast 选择匹配的最后一个元素 $(“li:last”).css(“background”,“red”)
2.2.属性选择器
针对页面元素来说,元素的属性是什么???
,这个里面src,title,是属性。
热卖宝
href class就是a标签的属性。
在jquery里面,基本选择器[属性选择器]
属性选择器
符号 说明 用法
$(“a[href]”) 选择所有包含href属性的元素 $(“a[href]”).css(“background”,“red”)
$(“a[href=‘luffy’]”) 选择href属性值为luffy的所有a标签 $(“a[href=‘luffy’]”).css(“background”,“red”)
$(“a[href!=‘baidu’]”) 选择href属性不等于baidu的所有元素(包括没有href的元素) $(“a[href!=‘baidu’]”).css(“background”,“red”)
$(“a[href^=‘web’]”) 选择所有以web开头的元素 $(“a[href^=‘web’]”).css(“background”,“red”)
( \” a [ h r e f (\”a[href(\”a[href=‘cn’]\”) 选择所有以cn结尾的元素 ( \” a [ h r e f (\”a[href(\”a[href=‘cn’]\”).css(“background”,“red”)
$(“a[href*=‘i’]”) 选择所有包含i这个字符的元素,可以是中英文 $(“a[href*=‘i’]”).css(“background”,“red”)
$(function(){ //标签名[属性名] 查找所有含有id属性的该标签名的元素 $(\'li[id]\').css(\'color\',\'red\'); //匹配给定的属性是what值得元素 $(\'li[class=what]\').css(\'font-size\',\'30px\'); //[attr!=value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素 $(\'li[class!=what]\').css(\'font-size\',\'50px\'); //匹配给定的属性是以某些值开始的元素 $(\'input[name^=username]\').css(\'background\',\'gray\'); //匹配给定的属性是以某些值结尾的元素 $(\'input[name$=222]\').css(\'background\',\'greenyellow\'); //匹配给定的属性是以包含某些值的元素 $(\'button[class*=btn]\').css(\'background\',\'red\') })12345678910111213141516171819
2.3.筛选选择器
筛选选择器(通过方法调用)
符号 说明 用法
find(selector) 查找指定元素的所有后代元素(包括子子孙孙) $(\”#i_wrap\”).find(“li”).css(“color”,“red”); 选择id为i_wrap的所有后代元素li
children() 查找指定元素的直接子元素(亲儿子元素) $(\”#i_wrap\”).children(“ul”).css(“color”,“red”); 选择id为i_wrap的所有子代元素ul
siblings() 查找所有兄弟元素(不包括自己) $(\”#i_liItem\”).siblings().css(“color”,“red”); 选择id为i_liItem的所有兄弟元素
parent() 查找父元素(亲的) $(\”#i_liItem\”).parent(“ul”).css(“color”,“red”); 选择id为i_liItem的父元素
eq(index) 查找指定元素的第index个元素,index是索引号,从0开始 $(“li”).eq(2).css(“color”,“red”); 选择所有li元素中的第二个
first()
last()
<script type=\"text/javascript\"> //获取第n个元素 数值从0开始 $(\'span\').eq(1).css(\'color\',\'#FF0000\'); //获取第一个元素 :first :last 点语法 :get方法 和set方法 $(\'span\').last().css(\'color\',\'greenyellow\'); $(\'span\').first().css(\'color\',\'greenyellow\'); //查找span标签的父元素(亲的) $(\'span\').parent(\'.p1\').css({\"width\":\'200px\',\'height\':\'200px\',\"background\":\'red\'}); //选择所有的兄弟元素(不包括自己) $(\'.list\').siblings(\'li\').css(\'color\',\'red\'); //查找所有的后代元素 $(\'div\').find(\'button\').css(\'background\',\'yellow\'); //不写参数代表获取所有子元素。 $(\'ul\').children().css(\"background\", \"green\"); $(\'ul\').children(\"li\").css(\"margin-top\", 10); </script>12345678910111213141516171819202122232425262728
总结:
不用大家记忆,按照老师提供的笔记或帮助文档,练习一下即可。
2.5.表单选择器 Forms
名称 说明 解释
:input 匹配所有 input, textarea, select 和 button 元素 查找所有的input元素: $(\”:input\”)
:text 匹配所有的文本框 查找所有文本框: $(\”:text\”)
:password 匹配所有密码框 查找所有密码框: $(\”:password\”)
:radio 匹配所有单选按钮 查找所有单选按钮
:checkbox 匹配所有复选框 查找所有复选框: $(\”:checkbox\”)
:submit 匹配所有提交按钮 查找所有提交按钮: $(\”:submit\”)
:image 匹配所有图像域 匹配所有图像域: $(\”:image\”)
:reset 匹配所有重置按钮 查找所有重置按钮: $(\”:reset\”)
:button 匹配所有按钮 查找所有按钮: $(\”:button\”)
:file 匹配所有文件域 查找所有文件域: $(\”:file\”)
表单属性过滤器
语法 描述 示例
:enabled 匹配所有可用元素 $(\” #userform :enabled\” )匹配form内部除编号输入框外的所有元素
:disabled 匹配所有不可用元素 $(\” #userform :disabled\” )匹配编号输入框
:checked 匹配所有被选中元素(复选框、单项按钮、select 中的option) $(\” #userform :checked\” )匹配“性别”中的“男”选项和“爱好”中的“编程”选项
:selected 匹配所有选中的option 元素 $(\” #userform :selected\” ) 匹配“家乡”中的“北京”选项