Jquery的一些基础回顾复习
jquery函数
$(document).ready(fn) / $(fn)
window.onload
与$(document).ready(fn)的区别
1.1window.onload
需要等待页面完全加载完毕才能触发,即所有的Dom元素创建完毕、图片、Css等加载完毕后才可以触发。
$(document).ready()
只要Dom元素加载完成就可以触发,这样可以提供响应速度
1.2$(document).ready()
可以注册多次事件处理程序,并且最终都会执行而window.onload
每次注册新的事件处理程序时都会将前面的覆盖掉使用jQuery实现
window.onload
的效果:$(window).load(fn)
$.map(array,callback(element,index))
对于数组 array
中的每个元素,调用 callback()
函数,最终返回一个新的数组,原数组不变
Example:
1 | var arrInt = [1, 2, 3, 4, 5, 6, 7]; |
$.each(array,fn)
遍历数组,通过 return false
来退出循环,不能使用 break
来提出循环
Example:
1 | var arrInt = [1, 2, 3, 4, 5, 6, 7]; |
$.trim(字符串)
去掉两端空格,启动调试,可以F11进去源码查看原理
Example:
1 | var msg = ' hello '; |
jquery对象与Dom对象
Example:
1 | window.onload = function(){ |
jquery选择器
- Id选择器 $(“#id”)
- 标签选择器 $(“input”);
- 类选择器 $(“.class”);
- 标签+类选择器 $(“p.text”);
- 组合选择器 $(“选择器1”,”选择器2”,”选择器3”,”……”);
- 层次选择器
后代元素选择器:使用空格隔开 \$(“选择器1 选择器2”),表示选取选择器1下所有的选择器2
子元素选择器:使用>
隔开 \$(“选择器1 > 选择器2”)
相邻元素选择器:使用+
或者~
\$(“div”).prev(“span”); 获取div上一个兄弟元素,并且该元素必须是span`+`:$(".a + div") == $(".a").next 如果相邻的不是div 则不会继续向后找 `~`:$(".a ~ div") == $(".a").nextAll() 获取类名为a之后的所有兄弟div元素
\$(“div”).prevAll(“span”); 获取div前面的所有span兄弟元素
\$(“div”).siblings(“span”); 获取div的所有span兄弟元素
特点:链式方程/隐式迭代
Example1:
1 | $(function(){ |
Example2:
1 |
|
jQuery1.6以后有以下区别,1.6之前都是用attr
attr()
与prop()
对于HTML元素本身就带有的 固有 属性,在处理时,使用prop
方法。
对于HTML元素我们自己 自定义 的DOM属性,在处理时,使用attr
方法。
过滤选择器(:
)
:first
选取 第一个 元素 $("div:first")
:last
选取 最后一个 元素 $("div:last")
:not(选择器)
选取 不满足选择器 条件的元素 $("input:not(.myClass)")
:even
\ :odd
选取索引是 偶数 、奇数 的元素 $("input:even")
:eq(索引序号)
\ :gt(索引序号)
\ :lt(索引序号)
选取索引 等于 、大于 、小于 索引号的元素 $("input:lt(5)")
| $("input:lt(3):gt(0)")
:animated
选取正在 执行动画 的 div
元素$(".header")
选取所有 h1…h6 元素
Example1:
1 | <input type="button" name="" id="btn" value="点我"> |
Example2:
1 | <table id="b1" border="1" cellpadding="2" cellspacing="2"> |
$(“td:even”,$(this)) 表示在上文鼠标所点击的 tr
里面来选择 td
属性过滤选择器
$("div[id]")
选取有 id 属性的 <div>
$("div[title=test]")
选取 title 属性为test的 <div>
$("div[title!=test]")
选取 title 属性不为test的 <div>
Example1:
1 | <input type="text" name="a1"> |
表单选择器
$(":input")
选取所有<input>
、<textarea>
、<select>
和 <button>
$("input")
不一样,只获得 <input>
$(":text")
== $("input[type=text]")
选取所有的单行文本框$(":password");
选取所有密码框
上述同理的还有 :radio
、:submit
、:image
、:reset
、:button
、:file
、:hidden
(替代了$("input[type=***]")
)
表单对象属性过滤选择器
$("#form :enabled")
选取id为form的表单内所有 启用 的元素$("#form :disabled")
选取id为form的表单内所有 禁用 的元素$("#input:checked")
选取所有 选中 的元素(Radio/Checkbox),中间不可有空格$("select :selected")
选取所有选中的 选项 的元素(下拉列表)