jQuery选择器

来源:互联网 发布:apache common实现orm 编辑:程序博客网 时间:2024/05/29 07:09

jQuery选择器之id选择器

id选择器:一个用来查找的ID,即元素的id属性

$( "#id" )

id选择器也是基本的选择器,jQuery内部使用JavaScript函数document.getElementById()来处理ID的获取。原生语法的支持总是非常高效的,所以在操作DOM的获取上,如果能采用id的话尽然考虑用这个选择器

jQuery选择器之类选择器

类选择器,顾名思义,通过class样式类名来获取节点

$( ".class" )

同样的jQuery在实现上,对于类选择器,如果浏览器支持,jQuery使用JavaScript的原生getElementsByClassName()函数来实现的

右边实现一个原生getElementsByClassName()函数的实现代码与jQuery实现代码的比较

jQuery选择器之元素选择器

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

$( "element" )

jQuery选择器之全选择器(*选择器)

通配符意味着给所有的元素设置默认的边距。jQuery中我们也可以通过传递选择器来选中文档页面中的元素

$( "*" )

jQuery选择器之层级选择器

选择器 描述 $(‘:first’) 匹配第一个元素 $(‘:last’) 匹配最后一个元素 $(‘:not(select)’) 一个用来过滤的元素,选择元素去除不匹配给定的选择器 $(‘:eq(index)’) 在匹配中选择index的元素 $(‘:gt(index)’) 选择大于index的元素 $(‘:even’) 选择为偶数的元素从0开始计数 $(‘:odd’) 选择为奇数的元素从0开始计数 $(‘:lt(index)’) 选择小于index的元素 $(‘:header’) 选择所有标题的元素例如:h1,h2,h3 $(‘:lang(langguage)’) 指定语言的元素 $(‘:root’) 选择器根元素 $(‘:animated’) 选择所有的动画元素

jQuery选择器之内容筛选选择器

选择器 描述 $(‘.div:contains(contains)’) 查找指定内容文本(也可以是别的类名) $(“.div:has(span)”) 查找所有class=’div’中DOM元素中包含”span”的元素节点 $(‘:parent’) 选择所有的含子元素文本的元素 $(‘:empty)’) 选择有没有子元素 $(‘:has(selector)’) 选择元素中至少包含指定的元素

jQuery选择器之可见性筛选选择器

选择器 描述 $(‘:visible’) 选择所有显性元素 $(“:hidden”) 选择所有隐性元素

jQuery选择器之属性筛选选择器

选择器 描述 $(‘[attribute =”value”]’) $(“[attribute*=’value’]”) 选择指定属性具有包含一个给定的子字符串的元素 $(“[attribute~=’value’]”) 选择指定属性用空格分割的值中包含一个给定值得元素 $(“[attribute=’value’]”) 选择指定属性是给定值得元素 $(“[attribute!=’value’]”) 选择不存在指定属性,或者指定的属性值不等于给定值的元素 $(“[attribute^=’value’]”) 选择指定属性是以给定字符串开始的元素 ("[attribute=’value’]”) 选择指定属性十一给定值结尾的元素,这个比较区分大小写 $(“[attribute]”) 选择所有具有指定属性的元素,该属性可以是任何值 $(“[attributeFilter1][attributeFilterN]”) 选择匹配所有指定的属性筛选器的元素

jQuery选择器之子元素筛选选择器

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

选择器 描述 $(‘:first-child’) 选择父元素下面的第一个子元素 $(“:last-child”) 选择父元素下面的最后一个子元素 $(‘:only-child’) 如果某个元素是其父元素的唯一子元素,那么他就会被选中 $(“:nth-child”) 选择他们父元素的第n个子元素 $(‘:nth-last-child’) 选择他们父元素的第n个子元素,技术从后往前

jQuery选择器之表单元素选择器

选择器 描述 $(‘:input’) 选择所有input,textarea,select和button元素 $(“:text”) 匹配所有文本框 $(‘:password’) 匹配所有密码框 $(“:radio”) 匹配所有单选按钮 $(‘:checkbox’) 匹配所有的复选框 $(‘:submit’) 匹配所有的提交按钮 $(“:image”) 匹配所有图像域 $(‘:reset’) 匹配所有重置按钮 $(“:button”) 匹配所有按钮 $(‘:file’) 匹配所有文件域

jQuery选择器之表单对象属性筛选选择器

选择器 描述 $(‘:enabled’) 选取可用的表单元素 $(“:disabled”) 选取不可用的表单元素 $(‘:checked’) 选取被选中的

jQuery的属性与样式之.attr()与.removeAttr()

attr()有4个表达式

attr(传入属性名):获取属性的值
attr(属性名, 属性值):设置属性的值
attr(属性名,函数值):设置属性的函数值
attr(attributes):给指定元素设置多个属性值,即:{属性名一: “属性值一” , 属性名二: “属性值二” , … … }

removeAttr()删除方法
.removeAttr( attributeName ) : 为匹配的元素集合中的每个元素中移除一个属性(attribute)

jQuery的属性与样式之html()及.text()

.html()方法

获取集合中第一个匹配元素的HTML内容 或 设置每一个匹配元素的html内容,具体有3种用法:

.html() 不传入值,就是获取集合中第一个匹配元素的HTML内容
.html( htmlString ) 设置每一个匹配元素的html内容
.html( function(index, oldhtml) ) 用来返回设置HTML内容的一个函数
注意事项:

.html()方法内部使用的是DOM的innerHTML属性来处理的,所以在设置与获取上需要注意的一个最重要的问题,这个操作是针对整个HTML内容(不仅仅只是文本内容)
.text()方法

得到匹配元素集合中每个元素的文本内容结合,包括他们的后代,或设置匹配元素集合中每个元素的文本内容为指定的文本内容。,具体有3种用法:

.text() 得到匹配元素集合中每个元素的合并文本,包括他们的后代
.text( textString ) 用于设置匹配元素内容的文本
.text( function(index, text) ) 用来返回设置文本内容的一个函数
注意事项:

.text()结果返回一个字符串,包含所有匹配元素的合并文本
.html与.text的异同:

.html与.text的方法操作是一样,只是在具体针对处理对象不同
.html处理的是元素内容,.text处理的是文本内容
.html只能使用在HTML文档中,.text 在XML 和 HTML 文档中都能使用
如果处理的对象只有一个子文本节点,那么html处理的结果与text是一样的
火狐不支持innerText属性,用了类似的textContent属性,.text()方法综合了2个属性的支持,所以可以兼容所有浏览器

jQuery的属性与样式之.val()

jQuery中有一个.val()方法主要是用于处理表单元素的值,比如 input, select 和 textarea。

.val()方法

.val()无参数,获取匹配的元素集合中第一个元素的当前值
.val( value ),设置匹配的元素集合中每个元素的值
.val( function ) ,一个用来返回设置值的函数

jQuery的属性与样式之增加样式.addClass()

.addClass( className )方法

.addClass( className ) : 为每个匹配元素所要增加的一个或多个样式名
.addClass( function(index, currentClass) ) : 这个函数返回一个或更多用空格隔开的要增加的样式名

jQuery的属性与样式之删除样式.removeClass()

.removeClass( )方法

.removeClass( [className ] ):每个匹配元素移除的一个或多个用空格隔开的样式名
.removeClass( function(index, class) ) : 一个函数,返回一个或多个将要被移除的样式名

jQuery的属性与样式之切换样式.toggleClass()

.toggleClass( )方法:在匹配的元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或值切换属性。即:如果存在(不存在)就删除(添加)一个类

.toggleClass( className ):在匹配的元素集合中的每个元素上用来切换的一个或多个(用空格隔开)样式类名
.toggleClass( className, switch ):一个布尔值,用于判断样式是否应该被添加或移除
.toggleClass( [switch ] ):一个用来判断样式类添加还是移除的 布尔值
.toggleClass( function(index, class, switch) [, switch ] ):用来返回在匹配的元素集合中的每个元素上用来切换的样式类名的一个函数。接收元素的索引位置和元素旧的样式类作为参数

jQuery的属性与样式之样式操作.css()

.css() 方法:获取元素样式属性的计算值或者设置元素的CSS属性

获取:

.css( propertyName ) :获取匹配元素集合中的第一个元素的样式属性的计算值
.css( propertyNames ):传递一组数组,返回一个对象结果
设置:

.css(propertyName, value ):设置CSS
.css( propertyName, function ):可以传入一个回调函数,返回取到对应的值进行处理
.css( properties ):可以传一个对象,同时设置多个样式