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选取所有可见元素
  • 内容伪类选择器

    内容伪类选择器,就是根据元素中的文字内容或所包含的子元素特征来选择元素,其文字内容可以模糊或绝对匹配进行元素定位。

    • :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选择器大全的更多相关文章

  1. js进阶 9 js操作表单知识点总结

    js进阶 9 js操作表单知识点总结 一.总结 一句话总结:熟记较常用的知识点,对于一些不太常用的知识点可以在使用的时候查阅相关资料,在使用和练习中去记忆. 1.表单中学到的元素的两个对象集合石什么? ...

  2. js进阶 9-14 js如何实现下拉列表多选移除

    js进阶 9-14 js如何实现下拉列表多选移除 一.总结 一句话总结: 1.js如何实现下拉列表多选移除? 把这个下拉列表中的option移除,然后加到另外一个下拉列表(文字)中去.remove方法 ...

  3. js进阶 9-12 js如何实现级联菜单 (章节测试)

    js进阶 9-12  js如何实现级联菜单 (章节测试) 一.总结 一句话总结: 1.js如何实现级联菜单 ? 二维数组,以第一级菜单的文本值做键,以对应的二级菜单选项的文本做值 2.用哪个属性可以获 ...

  4. js进阶 9-6 js如何通过name访问指定指定表单控件

    js进阶 9-6 js如何通过name访问指定指定表单控件 一.总结 一句话总结:form中控件的三种访问方式:2formElement 1document 1.form中控件的三种访问方式? 1.f ...

  5. js进阶 9-5 js如何确认form的提交和重置按钮

    js进阶 9-5 js如何确认form的提交和重置按钮 一.总结 一句话总结: 1.这个并不好做:onsubmit 里面的代码必须返回false才能取消onsubmit方法的执行,所以,有return ...

  6. JS进阶 ] 分析JS中的异步操作

    写在前面 JS因为是单线程的,所以在执行事务的时候,往往会因为某个事务的延迟,而导致服务器假死,这时候异步编程就显的格外重要,但是异步编程一般理解为回调函数callback,典型的就是node,回调函 ...

  7. JS进阶篇--JS数组reduce()方法详解及高级技巧

    基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被 ...

  8. JS进阶系列-JS执行期上下文(一)

    ❝ 点赞再看,年薪百万 本文已收录至https://github.com/likekk/-Blog欢迎大家star,共同进步.如果文章有出现错误的地方,欢迎大家指出.后期将在将GitHub上规划前端学 ...

  9. js进阶 10-3 jquery中为什么用document.ready方法

    js进阶 10-3  jquery中为什么用document.ready方法 一.总结 一句话总结: 1.document.ready和window.onload的区别:用哪个好? document. ...

随机推荐

  1. Python的数组合并

    https://blog.csdn.net/hustqb/article/details/78090365 TypeError: can only concatenate list (not &quo ...

  2. js数组遍历和对象遍历小结

    数组的遍历 for循环 for(var j = 0,len = arr.length; j < len; j++){ console.log(arr[j]); } forEach,性能比for还 ...

  3. 2 Java基础语法(keyword,标识符,凝视,常量,进制转换,变量,数据类型,数据类型转换)

    1:keyword(掌握) (1)被Java语言赋予特定含义的单词 (2)特点: 所有小写. (3)注意事项: A:goto和const作为保留字存在. B:类似于Notepad++这种高级记事本会对 ...

  4. Zookeeper源码用ant进行编译为eclipse工程--转载

    原文地址:http://www.it165.net/os/html/201411/10142.html Zookeeper GitHub的下载地址是:https://github.com/apache ...

  5. 第一个Python程序(全面)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一.Windows系统 1.编写Python程序方式之Sublime文本编辑器: 1>打开sublime,创建hello.p ...

  6. Spring Boot 动态数据源(Spring 注解数据源)

    本文实现案例场景:某系统除了需要从自己的主要数据库上读取和管理数据外,还有一部分业务涉及到其他多个数据库,要求可以在任何方法上可以灵活指定具体要操作的数据库. 为了在开发中以最简单的方法使用,本文基于 ...

  7. Java Timer TimerTask Example(java Timer的例子)

    Java java.util.Timer is a utility class that can be used to schedule a thread to be executed at cert ...

  8. React-Native_02:语法篇

    1.简单介绍 ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式公布了.它的目标.是使得JavaScript语言能够用来编写复杂的大型应用程 ...

  9. NSDate时间

    NSDate 使用 ios时间的秒数 取当前时间的秒数 NSTimeInterval time = [[NSDate date] timeIntervalSince1970]; long long i ...

  10. 中间件、服务器和Web服务器三者的区别

    相信很多的Web安全初学者和我一样,对中间件和服务器的认识不够深刻,对两者的概念可能会有所混淆. 正好今天在学习的时候突然想到了这个问题,粗略百度了一下,似乎网上对这个问题的解释不多,那么就由我来为大 ...