发现之前学的jQuery基础都不太牢固,整理出常用的一些,主要是为了复习,所以会的在此就只列了名字略过
基础选择器
- #id
- element
- .class
- *
- sele1,sele2,seleN
- ance desc
获取祖先元素ance下 所有的子孙 desc元素 - parent>child
获取父元素parent下子child元素 - prev+next
获取prev元素 紧邻的下一个 next元素 - prev~siblings
获取prev元素后面全部相邻的siblings元素
过滤选择器
- :first
获取第一个元素,常常与其它选择器一起使用,获取指定的一组元素中的第一个元素,$("li:first")
获取第一个li元素 - :eq(index)
选择任意一个标签元素,$("li:eq(3)")
获取第4个li元素 - :contains(text)
选择包含指定字符串的全部元素,它通常与其他元素结合使用,获取包含“text”字符串内容的全部元素对象。其中参数text表示页面中的文字。
$("li:contains('nihao')")
- :has(selector)
获取选择器中包含指定元素名称的全部元素,其中selector参数就是包含的元素名称,是被包含元素$("li:has('p')")
- :hidden
获取全部不可见的元素,这些不可见的元素中包括type属性值为hidden的元素$("li:hidden")
- :visible
获取的是全部可见的元素,也就是说,只要不将元素的display属性值设置为“none”,那么,都可以通过该选择器获取 - [attribute=value]
获取与属性名和属性值完全相同的全部元素$("li[title=hello]")
- [attribute!=value]
获取不包含属性名,或者与属性名和属性值不相同的全部元素 - [attribute*=value]
获取属性值中包含指定内容的全部元素 - :first-child
获取每个父元素中返回的首个子元素,它是一个集合,常用多个集合数据的选择处理 - :last-child
获取每个父元素中返回的最后一个子元素,它也是一个集合,常用多个集合数据的选择处理
表单选择器
- :input
返回全部的表单元素,不仅包括所有<input>
标记的表单元素,而且还包括<textarea>
、<select>
和<button>
标记的表单元素,因此,它选择的表单元素是最广的。
$("#frmTest :input")
冒号前面一定要有空格,因为form的id为frmTest,而:input为form的子元素 - :text
可以获取表单中全部单行的文本输入框元素,对于<textarea>
区域文本、按钮元素无效,单行的文本输入框就像一个不换行的字条工具,使用非常广泛。 - :password
获取表单中全部的密码输入文本框元素。 - :radio
获取表单中的全部单选按钮元素。 - :checkbox
快速定位并获取表单中的复选框元素。 - :submit
通常情况下,一个表单中只允许有一个“type”属性值为“submit”的提交按钮,使用:submit选择器可获取表单中的这个提交按钮元素。$("#frmTest input:submit")
- :image
当一个<input>
元素的“type”属性值设为“image”时,该元素就是一个图像域,使用:image选择器可以快速获取该类全部元素。
只能获取<input>
图像域,而不能获取<img>
格式的图像元素。 - :button
获取且只能获取“type”属性值为“button”的<input>
和<button>
这两类普通按钮元素。 - :checked
有一些元素存在选中状态,如复选框、单选按钮元素,选中时“checked”属性值为“checked”,调用:checked可以获取处于选中状态的全部元素。 - :selected
只能获取<select>
下拉列表框中全部处于选中状态的<option>
选项元素。
操作DOM元素
- attr()
- html()
- text()
//关于html()、text()和val()的区别,会在以后的文章中提到 - addClass()
- css()
- removeAttr(name)
- removeClass(class)
- append(content)
向指定的元素中追加内容,被追加的content参数,可以是字符、HTML元素标记,还可以是一个返回字符串内容的函数。 - appendTo()
向指定的元素内插入内容,它的使用格式是:
$(content).appendTo(selector)
参数content表示需要插入的内容,
参数selector表示被选的元素,
即把content内容插入selector元素内,默认是在尾部。 - before()
- after()
在元素的前后插入内容,它们分别表示在整个元素的前面和后面插入指定的元素或内容,调用格式分别为:
$(selector).before(content)
和$(selector).after(content)
其中参数content表示插入的内容,该内容可以是元素或HTML字符串。 - clone()
生成一个被选元素的副本,即复制了一个被选元素,包含它的节点、文本和属性,它的调用格式为:
$(selector).clone()
其中参数selector可以是一个元素或HTML内容。 - replaceWith()
- replaceAll()
用于替换元素或元素中的内容,但它们调用时,内容和被替换元素所在的位置不同,分别为如下所示:
$(selector).replaceWith(content)
和$(content).replaceAll(selector)
参数selector为被替换的元素,
content为替换的内容。 - wrap()
- wrapInner()
可以进行元素的包裹,但前者用于包裹元素本身,后者则用于包裹元素中的内容,它们的调用格式分别为:
$(selector).wrap(wrapper)
和$(selector).wrapInner(wrapper)
参数selector为被包裹的元素,wrapper参数为包裹元素的格式。 - each()
可以遍历指定的元素集合,在遍历时,通过回调函数返回遍历元素的序列号,它的调用格式为:
$(selector).each(function(index))
参数function为遍历时的回调函数,
index为遍历元素的序列号,它从0开始。 - remove()
删除所选元素本身和子元素,该方法可以通过添加过滤参数指定需要删除的某些元素 - empty()
只删除所选元素的子元素
事件与应用
- ready()
只要页面的DOM结构加载后便触发,而onload()必须在页面全部元素加载成功才触发,ready()可以写多个,按顺序执行。
$(document).ready(function(){})
等价于$(function(){});
- bind()
绑定前,需要知道被绑定的元素名,绑定的事件名称,事件中执行的函数内容就可以,它的绑定格式如下:
$(selector).bind(event,[data] function)
参数event为事件名称,多个事件名称用空格隔开,function为事件执行的函数。 - hover()
当鼠标移到所选元素上时,执行方法中的第一个函数,鼠标移出时,执行方法中的第二个函数,实现事件的切实效果,调用格式如下:
$(selector).hover(over,out);
over参数为移到所选元素上触发的函数,
out参数为移出元素时触发的函数。 - toggle()
可以在元素的click事件中绑定两个或两个以上的函数,同时,toggle()无参时它还可以实现元素的隐藏与显示的切换,绑定多个函数的调用格式如下:
$(selector).toggle(fun1(),fun2(),funN(),...)
其中,fun1,fun2就是多个函数的名称
注意:toggle()方法支持目前主流稳定的jQuery版本1.8.2,在1.9.0之后的版本是不支持的。 - unbind()
可以移除元素已绑定的事件,它的调用格式如下:
$(selector).unbind(event,fun)
其中参数event表示需要移除的事件名称,多个事件名用空格隔开,fun参数为事件执行时调用的函数名称。 - one()
绑定元素任何有效的事件,但这种方法绑定的事件只会触发一次,它的调用格式如下:
$(selector).one(event,[data],fun)
参数event为事件名称,data为触发事件时携带的数据,fun为触发该事件时执行的函数。 - trigger()
直接手动触发元素指定的事件,这些事件可以是元素自带事件,也可以是自定义的事件,总之,该事件必须能执行,它的调用格式为:
$(selector).trigger(event)
其中event参数为需要手动触发的事件名称。 - focus
- blur
- change
当一个元素的值发生变化时,将会触发change事件,例如在选择下拉列表框中的选项时,就会触change事件。 - live()
可以绑定元素的可执行事件,除此相同功能之外,live()方法还可以绑定动态元素,即使用代码添加的元素事件,格式如下:
$(selector).live(event,[data],fun)
参数event为事件名称,
data为触发事件时携带的数据,
fun为触发该事件时执行的函数。
注意:从 jQuery 1.7 开始,不再建议使用 .live() 方法。1.9不支持.live()
本文总结于慕课网jQuery基础课程