js 进阶 10 js选择器大全
js 进阶 10 js选择器大全
一、总结
一句话总结:和css选择器很像
二、JQuery选择器
原生javaScript中,只能使用getELementById()、getElementByName、getElementByTagName()等几种有限的方法来获取元素,JQuery为我们提供了大量的选择器,极大地方便了我们快速选择元素来进行各种操作。
JQuery的选择器完全是继承了css选择器的风格,大家在学习JQuery选择器的时候,一定要先联系CSS选择器进行对比记忆。
虽然选择器很多,但是并不要求大家一下子全记住。可以先记住常用的几种,其他的等到需要的时候查阅下资料。因为这些选择器,我们是必须通过真正的开发实践才能够真正的熟练掌握
1. 基本选择器
- id选择器:$("#id名")
- 元素选择器:$("元素名")
- 类选择器:$(".类名")
- 群组选择器:$("选择器1,选择器2,.......,选择器n")
- *选择器:$("*")选择所有元素
2.层级选择器
层次选择器,就是能过元素之间的层次关系来获取元素.常见的层次关系包括:父子、后代、兄弟、相邻。
- $("M N")后代选择器,选择M元素内部后代N元素
- $("M>N")子代选择器,选择M元素内部子代N元素
- $("M~N")兄弟选择器,选择M元素后所有的同级N元素
- $("M+N")相邻选择器,选择M元素相邻的下一个元素
3. 属性选择器
HTML元素通常包含很多属性,JQuery的属性选择器就是把各种属性作为选择器。
- $("selector[attr]")选择包含给定属性的元素
- $("selector[attr='value']")选择给定的属性是某个特定值的元素
- $("selector[attr!='value']")选择所有含有指定的属性,但属性不等于特定值的元素
- $("selector[attr*='value']")选择给定的属性是以包含某些值的元素
- $("selector[attr^='value']")选择给定的属性是以某些值开始的元素(比较少用)
4. 伪类选择器
伪类选择器也称作过滤选择器。
JQuery伪类选择器都是以英文冒号“:”开头,和css中的伪类选择器用法相似,使得我们可以快速地选择我们想要获取的元素。
- 简单伪类选择器元素
- :not(selector)选择除了某个选择器之外的所有元素
- :first或first()选择某元素的第一个元素(非子元素)
- :last或last()选择某元素的最后一个元素(非子元素)
- :odd选择某元素的索引值为奇数的元素
- :even选择某元素的索引值为偶数的元素
- :eq(index)选择给定索引值的元素,索引值index是一个整数,从0开始
- :lt(index)选择所有小于索引值的元素,索引值index是一个整数,从0开始
- :header选择h1~h6的标题元素:focus选取当前具有焦点的元素
- :root选择页面的根元素
- :animated选择所有正在执行动画效果的元素
- 子元素伪类选择器
- :first-child选择父元素的第1个子元素
- :last-child选择父元素的最后1个子元素
- :nth-child(n)选择父元素下的第n个元素或奇偶元素,n的值为"整数|odd|vevn
- :only-child选择父元素中唯一的子元素(该父元素只有一个子元素)
- :first-of-type选择同元素类型的第1个同级兄弟元素
- :last-of-type选择同元素类型的最后1个同级兄弟元素
- :nth-of-type选择同元素类型的第n个同级兄弟元素,n的值可以是"整数|odd|even"
- :onlt-of-type匹配父元素中特定类型的唯一子元素(但是父元素可以有多个子元素)
- 可见性伪类选择器
- :hidden选取所有不可见元素
“:hidden”选择器选择的不仅包括样式为display:none所有元素,而且还包括属性type=”hidden”和样式为visibility:hidden的所有元素。
- :visible选取所有可见元素
- :hidden选取所有不可见元素
- 内容伪类选择器
内容伪类选择器,就是根据元素中的文字内容或所包含的子元素特征来选择元素,其文字内容可以模糊或绝对匹配进行元素定位。
- :contains(text)选择包含给定文本内容的元素
- :has(selector)选择含有选择器所匹配元素的元素
- :empty选择所有不包含子元素或者不包含文本的元素
- :parent选择含有子元素或者文本的元素(跟:empty相反)
- 表单伪类选择器
- : Input选择所有input元素
- :button选择所有type="button"的input元素
- :submit选择所有type="submit"的input元素
- :reset选择所有type="reset"的input元素
- :text选择所有单选文本框
- :textarea选择所有多行文本框
- :password选择所有密码文本框
- :radio选择所有单选按钮
- :checkbox选择所有复选框
- :image选择所有图像域
- :hidden选择所有隐藏域
- :file选择所有文件域
- 表单属性伪类选择器
- :enabled选择所有可用input元素
- :disabled所有禁用的input元素
- :selected选择所有被选中的option元素
- :checked选择所被选中的表单元素,一般用于radio和checkbox
js 进阶 10 js选择器大全
js 进阶 10 js选择器大全的更多相关文章
- js进阶 9 js操作表单知识点总结
js进阶 9 js操作表单知识点总结 一.总结 一句话总结:熟记较常用的知识点,对于一些不太常用的知识点可以在使用的时候查阅相关资料,在使用和练习中去记忆. 1.表单中学到的元素的两个对象集合石什么? ...
- js进阶 9-14 js如何实现下拉列表多选移除
js进阶 9-14 js如何实现下拉列表多选移除 一.总结 一句话总结: 1.js如何实现下拉列表多选移除? 把这个下拉列表中的option移除,然后加到另外一个下拉列表(文字)中去.remove方法 ...
- js进阶 9-12 js如何实现级联菜单 (章节测试)
js进阶 9-12 js如何实现级联菜单 (章节测试) 一.总结 一句话总结: 1.js如何实现级联菜单 ? 二维数组,以第一级菜单的文本值做键,以对应的二级菜单选项的文本做值 2.用哪个属性可以获 ...
- js进阶 9-6 js如何通过name访问指定指定表单控件
js进阶 9-6 js如何通过name访问指定指定表单控件 一.总结 一句话总结:form中控件的三种访问方式:2formElement 1document 1.form中控件的三种访问方式? 1.f ...
- js进阶 9-5 js如何确认form的提交和重置按钮
js进阶 9-5 js如何确认form的提交和重置按钮 一.总结 一句话总结: 1.这个并不好做:onsubmit 里面的代码必须返回false才能取消onsubmit方法的执行,所以,有return ...
- JS进阶 ] 分析JS中的异步操作
写在前面 JS因为是单线程的,所以在执行事务的时候,往往会因为某个事务的延迟,而导致服务器假死,这时候异步编程就显的格外重要,但是异步编程一般理解为回调函数callback,典型的就是node,回调函 ...
- JS进阶篇--JS数组reduce()方法详解及高级技巧
基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被 ...
- JS进阶系列-JS执行期上下文(一)
❝ 点赞再看,年薪百万 本文已收录至https://github.com/likekk/-Blog欢迎大家star,共同进步.如果文章有出现错误的地方,欢迎大家指出.后期将在将GitHub上规划前端学 ...
- js进阶 10-3 jquery中为什么用document.ready方法
js进阶 10-3 jquery中为什么用document.ready方法 一.总结 一句话总结: 1.document.ready和window.onload的区别:用哪个好? document. ...
随机推荐
- git还原本地提交的某个历史记录
转载地址:http://jingyan.baidu.com/article/e4511cf33479812b855eaf67.html 1.以还原index2.html文件为例,打开index2.ht ...
- C# List 复制克隆副本
[C#技术] C# List 复制克隆副本数字人 发表于:2012-8-28 18:02:49废话不多说,看代码: 方法一: List<string> t = new List<st ...
- OpenCV人脸检測(完整源代码+思路)
本博文IDE为vs2013 OpenCV2.49 话不多说,先看视频演示(20S演示): 例如以下: https://v.youku.com/v_show/id_XMjYzMzkxMTYyMA==.h ...
- 今天遇到奇怪的事:SVN本地代码的标记突然没了,Clean up也报错
今天遇到奇怪的事:SVN本地代码的标记突然没了.Clean up也报错 脑子一想这样的情况,能够先把原来的文件夹改一个名字.又一次把代码check out下来,再合并提交更新,但这样也太LOW了吧 上 ...
- amazeui-datatables(登录注册界面用到)
amazeui-datatables(登录注册界面用到) 一.总结 amazeui-datatables:DataTables 插件 Amaze UI 集成,只修改了样式和默认显示语言,其他参数同官方 ...
- 以流的形式接收Http请求
IEnumerable<ReportObject> IHttpReceiveReport.OnPost(System.Web.HttpContextBase context) { //[{ ...
- Loadrunner--负载生成器
对场景进行设计后,接着需要对负载生成器进行管理和设置.Load Generator是运行脚本的负载引擎,在默认情况下使用本地的负载生成器来运行脚本,但是模拟用户行为也需要消耗一定的系统资源,所以在一台 ...
- 【hdu 1403】Longest Common Substring
[链接]h在这里写链接 [题意] 求两个串的最长公共子串. [题解] Sa[i]表示的是字典序为i的后缀的起始位置. 可以把两个字符串合在一起(中间用一个比'z'大的字符分割); 则如果Sa[i-1] ...
- Spring Boot集成EHCache实现缓存机制
SpringBoot 缓存(EhCache 2.x 篇) SpringBoot 缓存 在 Spring Boot中,通过@EnableCaching注解自动化配置合适的缓存管理器(CacheManag ...
- 组件绑定v-model,实现最大化复用
看优秀的vue项目,对组件的封装做的都非常到位,比如一个按钮都可以实现复用,仔细研究会发现实现基础就是组件直接绑定v-model,来看看按钮: 比如有个点赞按钮,长这样: 当点赞之后变成这样: 相信很 ...