博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery 对象、基本选择器、筛选选择器
阅读量:6080 次
发布时间:2019-06-20

本文共 8403 字,大约阅读时间需要 28 分钟。

DOM对象转化成jQuery对象

如果传递给$(DOM)函数的参数是一个DOM对象,jQuery方法会把这个DOM对象给包装成一个新的jQuery对象

    
元素一
元素二
元素三

jQuery基本选择器

id选择器

id选择器:一个用来查找的ID,即元素的id属性:$("#id")

注:id是唯一的,每个id值在一个页面中只能使用一次。如果多个元素分配了相同的id,将只匹配该id选择集合的第一个DOM元素。但这种行为不应该发生;有超过一个元素的页面使用相同的id是无效的

    

id="aaron"

选中

id="imooc"

jQuery选中

id="imooc"

jQuery未选中

类选择器

类选择器,通过class样式类名来获取节点:$( ".class" )

类选择器,相对id选择器来说,效率相对会低一点,但是优势就是可以多选

    

class="aaron"

选中

class="aaron"

选中

class="imooc"

jQuery选中

class="imooc"

jQuery选中

元素选择器

元素选择器,根据给定(html)标记名称选择所有的元素:$( "element" )

    

class="aaron"

选中

class="aaron"

选中

class="imooc"

jQuery选中

class="imooc"

jQuery选中

全选择器(*选择器)

传递*选择器来选中文档页面中的元素:$( " * " )

    

class="aaron"

选中

class="aaron"

选中

class="imooc"

jQuery选中

class="imooc"

jQuery选中

层级选择器

选择器中的层级选择器就是用来处理以下关系:

子元素 后代元素 兄弟元素 相邻元素

clipboard.png

层级选择器之间的相似点与不同点:

  1. 层级选择器都有一个参考节点
  2. 后代选择器包含子选择器的选择的内容
  3. 一般兄弟选择器包含相邻兄弟选择的内容
  4. 相邻兄弟选择器和一般兄弟选择器所选择到的元素,必须在同一个父元素下

        

    子选择器与后代选择器

    div下的第一个p元素

    div下的第一个p元素

    div下的article下的p元素

    div下的article下的p元素

    相邻兄弟选择器与一般兄弟选择器

    兄弟节点div, +~选择器不能向前选择
    选择器span元素
    span后第一个兄弟节点div
    兄弟节点div
    子元素div
    兄弟节点span,不可选
    兄弟节点div

jQuery筛选选择器

基本筛选选择器

筛选选择器的用法与CSS中的伪元素相似,选择器用冒号“:”开头,如下是基本筛选器的描述:

clipboard.png

注意事项:

  1. :eq(), :lt(), :gt(), :even, :odd 用来筛选他们前面的匹配表达式的集合元素,根据之前匹配的元素在进一步筛选,注意jQuery合集都是从0开始索引
  2. gt是一个段落筛选,从指定索引的下一个开始,gt(1) 实际从2开始

        

    基本筛选器

    :first/:last/:even/:odd

    div:first

    :even

    :odd

    :even

    :odd

    :even

    div:last

    :odd

    :eq/:gt/:lt

    :lt(3)

    :lt(3)

    :eq(2)

    :gt(3)

    :gt(3)

    http://img.mukewang.com/57cd1df2000146de06020498.jpg

    :not

    Aaron

    慕课

    其他

内容筛选选择器

基本筛选选择器针对的都是元素DOM节点,如果要通过内容来过滤,使用内容筛选选择器,其规则体现在它所包含的子元素或者文本内容上,内容过滤器描述如下表:

clipboard.png

注意事项:

  1. :contains与:has都有查找的意思,但是contains查找包含“指定文本”的元素,has查找包含“指定元素”的元素
    如果:contains匹配的文本包含在元素的子元素中,同样认为是符合条件的。
  2. :parent与:empty是相反的,两者所涉及的子元素,包括文本节点

        

    内容筛选器

    :contains/:has

    :contains

    :contains

    :has

    :contains

    :parent/:empty

可见性筛选选择器

元素有显示状态与隐藏状态,jQuery根据元素的状态扩展了可见性筛选选择器:visible与:hidden。描述如下:

clipboard.png

:hidden选择器,不仅仅包含样式是display="none"的元素,还包括隐藏表单、visibility等等

隐藏元素有如下的方法:

  1. CSS display的值是none
  2. type=" hidden "的表单元素
  3. 宽度和高度都显式设置为0
  4. 一个祖先元素是隐藏的,该元素是不会在页面上显示
  5. CSS visibility的值是hidden
  6. CSS opacity的指是0

如果元素中占据文档中一定的空间,元素被认为是可见的。可见元素的宽度或高度,是大于零。元素的visibility: hidden 或 opacity: 0被认为是可见的,因为他们仍然占用空间布局

    

可见性筛选选择器

:visible/:hidden

display
width
height

width/height

visibility
opacity

属性筛选选择器

属性选择器可以基于属性来定位一个元素。只需指定该元素的某个属性,那么所有使用该属性且不考虑其属性值的元素都将被定位,也可更加明确并定位在这些属性上使用特定值的元素

clipboard.png

其中,[attr="value"]和[attr*="value"]最为实用:

  • [attr="value"]能定位不同类型的元素,特别是表单form元素的操作,比如input[type="text"],input[type="checkbox"]等
  • [attr*="value"]能在网站中帮助我们匹配不同类型的文件

$(selector)中selector有三种形式:

①字符串:用于元素的选取;②DOM元素:封装Dom元素,提供一系列jquery方法;③function 就是初始化时的$(fn)形式
$("div[data=pmx]")括号里可以是单引号,也可以是双引号。目的是表示$(selector)里面的参数是个字符串。[attribute = value]这种形式中value可以不加引号,如果要加引号,需要参照selector。如果selector是单引号,那么value必须是双引号

    

属性筛选选择器

[att=val]、[att]、[att|=val]、[att~=val]

[att^=val]、[att*=val]、[att$=val]、[att!=val]

子元素筛选选择器

子元素筛选选择器不常使用,其筛选规则比起其它的选择器稍微要复杂点

子元素筛选选择器描述表:

clipboard.png

注意事项:

  1. :first只匹配一个单独的元素,但是:first-child选择器可以匹配多个:即为每个父级元素匹配第一个子元素。这相当于:nth-child(1)
  2. :last 只匹配一个单独的元素, :last-child 选择器可以匹配多个元素:即,为每个父级元素匹配最后一个子元素
  3. 如果子元素只有一个的话,:first-child与:last-child是同一个
  4. :only-child匹配某个元素是父元素中唯一的子元素,就是说当前子元素是父元素中唯一的元素,则匹配
  5. jQuery实现:nth-child(n)是严格来自CSS规范,所以n值是“索引”,也就是说,从1开始计数,:nth-child(index)从1开始的,而eq(index)是从0开始的
  6. nth-child(n) 与 :nth-last-child(n) 的区别前者是从前往后计算,后者从后往前计算
    

子元素筛选选择器

:first-child、:last-child、:only-child

:nth-child、:nth-last-child

表单元素选择器

表单选择器的具体方法描述:

clipboard.png

    

子元素筛选选择器

input、text、password、radio、checkbox

submit、image、reset、button、file

  • 选择器适用于复选框和单选框,对于下拉框元素, 使用 :selected 选择器
  • 在某些浏览器中,选择器:checked可能会错误选取到<option>元素,所以保险起见换用选择器input:checked,确保只会选取<input>元素

特殊选择器this

this,表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性和方法。$(this),代表的上下文对象是一个jQuery的上下文对象,可以调用jQuery的方法和属性值    

特殊选择器this

点击测试:通过原生DOM处理

点击测试:通过原生jQuery处理

转载地址:http://uzegx.baihongyu.com/

你可能感兴趣的文章
sql 字符串操作
查看>>
【转】Android布局优化之ViewStub
查看>>
网络安全管理技术作业-SNMP实验报告
查看>>
根据Uri获取文件的绝对路径
查看>>
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>
程序员最喜爱的12个Android应用开发框架二(转)
查看>>
vim学习与理解
查看>>
DIRECTSHOW在VS2005中PVOID64问题和配置问题
查看>>
MapReduce的模式,算法以及用例
查看>>
《Advanced Linux Programming》读书笔记(1)
查看>>
zabbix agent item
查看>>
一步一步学习SignalR进行实时通信_7_非代理
查看>>
AOL重组为两大业务部门 全球裁员500人
查看>>
字符设备与块设备的区别
查看>>
为什么我弃用GNOME转向KDE(2)
查看>>
Redis学习记录初篇
查看>>
爬虫案例若干-爬取CSDN博文,糗事百科段子以及淘宝的图片
查看>>