中是惟一子元素的表单属性过滤
:
enabled
取所有可用元素
集合元素
$(“#form1:
enabled”)取id为form1的表单内的所有可用元素
:
disabled
取所有不可用元素
集合元素
略
:
checked
取所有被选中的元素
集合元素
$(“input:
checked”)
:
selected
取所有被选中的选项元素(下拉列表)
集合元素
$(“select:
selected”)
5、表单选择器
选择器
描述
返回
示例
:
input
所有的
集合元素
$(“:
input”)
:
text
取所有单行文本框
集合元素
$(“:
text”)
:
password
取所有密码框
集合元素
略
:
radio
取所有单选框
集合元素
略
:
checkbox
取所有多选框
集合元素
略
:
submit
取所有提交按钮
集合元素
:
image
取所有图像按钮
集合元素
:
reset
取所有按钮
集合元素
:
file
取所有上传域
集合元素
:
hidden
取所有不可见元素
集合元素
【注意:
选择器出现空格表示为后代选择器,与过滤选择器是不同的结果,例:
Var$t_a=$(‘.test:
hidden’);//表示选取class为”test”的元素里面的隐藏元素
而var$t_b=$(‘.test:
hidden’);//表示选中隐藏的class为”test”的元素】
三、DOM操作
1、查找节点和创建节点
(1)查找节点:
通过前面介绍的的选择器可以轻松查找节点,【例:
var$li=$(“ulli:
eq
(1)”);//取ul中的第2个节点】然后可以使用attr()方法来获取它的各种属性
(2)创建节点:
JQuery中可以通过$(HTML)来实现节点的创建。
例:
- 这是一个复杂的组合
2、插入节点
方法
描述
示例
Append
向匹配元素内部追加节点
$(“p”).append(“hello”)
appendT0()
将匹配元素追加到指定元素中,实际是颠倒了上面的append()方法
$(“hello”).appendTo(“p”),结果
hello
Prepend()
向匹配元素关添加内容
$(“p”).prepend(“hello”);
prependTo()
上面prepend()方法的反操作
略
After()
在匹配元素后插入内容
$(“p”).after(“hello”),结果
hello
insertAfter()
将匹配元素插入到指定元素的后面,after()方法的颠倒操作
略
Before()
在匹配元素前插入内容
$(“p”).before(“hello”),结果
hello
insertBefore()
Before()的颠倒方法
略
3、删除节点
(1)remove()方法:
删除匹配元素及其所有后代节点,返回值是指向已删除节点的引用,可以在其他地方或以后使用这些元素
(2)empty()方法:
并不删除当前节点,而是清空所有后代节点。
4、复制节点和替换节点
(1)复制节点:
Clone(bool)方法可以复制当前节点,默认参数为False,可以不填写,指复制的新元素不具备原节点的任何行为,当为True时,新元素将同时具有被复制元素的所有行为,包括事件。
(2)替换节点:
ReplaceWith()与ReplaceAll()可以将所有匹配的元素都替换成指定的HTML或者DOM元素,这两个方法互为颠倒。
示例:
$(“p”).replaceWith(“你不喜欢什么?
”);
或$(“你不喜欢什么?
”).replaceAll(“p”);
5、包裹节点
(1)wrap()方法:
把每个匹配元素用指定标签包裹起来,每个匹配元素都包裹一次
示例如下:
$(“strong”).wrap(“”);//结果如果有2个元素,则为
aaa
bbb
(2)wrapAll()方法:
将所有匹配元素包裹在指定标签中,示例如下
$(“strong”).wrapAll(“”);//结果如果有2个元素,则为
aaa
bbb
(3)wrapInner()方法:
将每个匹配元素的子内容用指定标签包裹起来,示例
$(“strong”).wrapInner(“”);//结果如果有2个元素,则为
aaa
6、属性操作
(1)获取和设置属性:
attr()
Varp_txt=$para.attr(“title”);//获取Title属性值
$(“p”).attr({“title”:
”hello”,“name”:
“test”});//将一个“名/值”形式的对象设置为匹配元素的属性
【注意:
JQuery中很多方法都是同一个函数来实现获取和设置,如attr()、html()、text()、height()、width()、val()和css()等方法。
】
(2)删除属性:
removeAttr()例:
$(“p”).removeAttr(“title”);
7、样式操作
(1)获取设置样式:
attr()
获取样式示例:
varp_class=$(“p”).attr(“class”);//获取元素
的class
设置样式:
$(“p”).attr(“class”,”high”);//此处严格说只是替换了元素的样式
(2)追加样式:
addClass()
示例:
$(“p”).addClass(“high”);//即
元素会具有以前和现在两格样式
(3)移除样式:
removeClass(“样式1[样式2]…”)和removeClass()参数为空移除所有样式
(4)切换样式:
toggleClass()//样式存在则删除,不存在则添加
(5)判断样式是否存在:
hasClass()//实际是调用了is()方法,所以等价于is()
8、CSS-DOM操作
(1)设置和获取style对象的各种属性:
css()
查看某元素css属性的值:
varp_value=$(“p”).css(“color”);
改变元素样式:
$(“p”).css(“color”,“red”);
(2)获取和设置高度宽度:
height()和width()
示例:
$(“p”).heigth();$(“p”).height(100);
(3)获取元素在当前视窗的相对偏移:
offset()
示例:
varoffset=$(“p”).offset();
Varleft=offset.left;
Vartop=offset.top;
(4)position()方法:
用于获取元素相对于最近一个position样式属性设置为relative或absolute的祖父节点的相对偏移,同offset()一样,返回对象包括两个属性,即top和left。
(5)获取元素的滚动条距顶端和距左侧的距离:
scrollTop()和scrollLeft()
【注:
height()与css()方法的区别是,height()方法获取的高度是元素在页面中的实际高度,且不带单位;而css()获取到的高度与样式有关,可能为”auto“或“10px”之类】
【注意:
attr()与css(),attr()设置对象的class属性,而css()设置对象的style属性】
【注:
css()方法中如果属性有”-“号,如:
font-size,不加引号时必须用驼峰式写法(fontSize),如果带上了引号,两种写法都可以。
】
9、设置和获取HTML与文本和值
(1)设置和获取HTML:
html()类似于JS中的InnerHTML
设置示例:
$(“p”).html(“hello”);
获取示例:
$(“p”).html();
【注:
html()方法不能用于XML文档】
(2)设置和获取文本:
text()类似于JS中的InnerText
【注:
text()方法对HMTL和XML文档都有效,且支持所有浏览器】
(3)设置和获取值:
val()类似于JS中的Value
【注1:
val()方法不仅能设置和获取元素的值,还有一个用处就是能使select、checkbox、radio相应的选项被选中。
注2:
val()方法是从最后一个选项往前读取。
也可以使用attr()方法来实现同样功能】
示例:
$(“:
checkbox”).val([“check2”,“check3”]);
$(“#singleoption:
eq
(1)“).attr(“selected”,true);
10、遍历节点
(1)children():
获取匹配元素的所有子元素,不考虑任何后代元素
(2)next():
用于取得匹配元素后面紧邻的同辈元素
(3)prev():
用于取得匹配元素前面紧邻的同辈元素
(4)siblings():
用于取得匹配元素前后所有的同辈元素
(5)closest():
用来取得最近的匹配元素
【其他:
find()、filter()、nextAll()、prevAll()、parent()、parents()等】
四、JQuery中的事件和动画
1、加载DOM对象
$(document).ready(function(){//代码}
$().ready(function(){//代码}
$(function(){//代码}
三种方式是一样的。
【注:
使用ready()方法注册的事件,只要DOM加载完毕就会被执行,如果此时元素关联的文件未下载完毕(如较大的图片)则会报错,解决方法是使用JQuery的load()方法,可以在元素上绑定一个算处理函数。
例:
$(window).load(function(){});等价于window.onload()】
2、事件绑定
在文档装载完毕后,可以通过bind()方法来对匹配元素进行特定事件的绑定,语法为:
Bind(type[,data],fn);
参数说明:
第1个为事件类型,包括:
blur/focus/load/unload/click/mousedown/keypress/error
第2个为可选参数,作为event.data属性值传递给事件对象的额外数据对象
第3个是用来绑定处理函数的。
示例:
$(“#panel”).bind(“mouseover”,function(