jQuery学习总结一

jQuery
jQuery是一个优秀的JavaScript框架,轻量级的JS库,封装了JS、CSS、DOM。
方便处理HTML、Event、实现动画效果,方便为网站提供AJAX交互。
使用户的HTML页面保持代码和HTML页面分离。
轻量级:侵入性低 耦合度低
重量级:侵入性高 耦合度高

jQuery使用步骤:
1.引用jQuery
2.使用jQuery选择器定位节点
3.调用jQuery方法操作节点

jQuery对象: 即:jQuery选择器选择的对象
本质是一个DOM对象数组;所以可以使用数组方法:jQuery对象.length .get(index)  [index]
jQuery方法都是针对jQuery对象特有的,大部分方法的返回值类型也是jQuery对象,所有方法可以连缀调用方法
如:jQuery对象.f1().f2().f3()......
要使用jQuery中的API方法,必须先将DOM对象转换成jQuery对象:$(DOM对象);
jQuery选择器:定位元素,选择方法
基本选择器:$("标签名"/".class属性名"/"#id"/"#id,improtant"(选择器组));
层次选择器: 
$("select1 select2") 1下所有满足2的 子孙 元素
$("select1 > select2") 1下所有满足2的 子 元素
$("select1 + select2") 1下所有满足2的 下一个弟弟 元素
$("select1 ~ select2") 1下所有满足2的 所有弟弟 元素
过滤选择器:
first 选择第一个 last 选择最后一个 (如 $("table tr:first); )
not(selector) 把selector排除外
even 挑选偶数行 odd挑选奇数行(按元素索引确定奇偶,从0开始)
eq(index) 下标等于index的元素 gt(index) 下标大于index的元素 lt(index) 下标小于index的元素 (如选中第二行  $("table tr:eq(2));)
contains(text)  匹配包含给定文本的元素 (如 $("p:contains('月饼')")  文字内容要用单引号包括!!)
可见元素过滤器:
empty 匹配所有不包含子元素或文本的空元素
hidden 匹配所有不可见元素 
visible 匹配所有可见元素
属性元素过滤器:
[attribute]  匹配所有具有attribute属性的元素  (如获取带id的div $("div[id]") )
[attribute=value] 匹配所有属性值等于value的元素
[attribute!=value] 匹配所有属性值不等于value的元素
状态过滤选择器
enabled 匹配可用的元素
disabled 匹配不可用的元素
checked 匹配选中的checkbox (如: $("input:checked") )
selected 匹配选中的option (如: $("option:selected"); )
表单选择器
:text文本框 :password密码框 :radio单选框 :checkbox多选框  :submit提交按钮
:reset重置按钮   :button普通按钮 :file文件框 :hidden隐藏框
jQuery操作DOM
读写节点:
obj.html() 读写节点的HTML内容(带标签格式)
obj.text()/obj.text("") 读写节点的文本内容
obj.val()/obj.val("")读写节点的value属性值
obj.attr("属性名")/obj.val("属性名","属性值")读写节点的任意属性值
创建节点:$("元素内容");
添加节点:
$("a").prepend("b")  b添加到a元素中最前
$("a").append("b") b添加到a元素中最后
$("a").before("b") b添加到a元素之前
$("a").after("b") b添加到a元素之后
删除节点:
obj.remove()  删除节点
obj.remove(selector)  只删除满足selector的节点
obj.empty() 清空节点
jQuery样式操作
addClass(" "); 追加样式
removeClass(" "); 移除指定样式 ,若不指定则移除所有样式
toggleClass(" ");  切换样式 ,没有就加上,有就移除
hasClass(" ");  判断是否有指定样式,返回布尔值
遍历节点
children() 直接子节点
next() 下一个兄弟节点
prev() 上一个兄弟节点
siblings() 所有兄弟节点
find(selector) 查满足选择器的所有后代
parent() 父节点
jQuery事件处理
$obj.bind('click',fn);/$obj.click(fn); (click代表单机事件,fn代表函数)
获得事件event对象只需传递一个参数:$obj.click(function(e){....)); e就是event对象,已经过封装适合各浏览器
获取事件源:e.target 获取事件对象坐标:e.pageX   e.pageY (此处若要使用e.target调用方法,需$(e.target))
jQuery处理时间机制:冒泡机制
子节点产生的时间会一次向上抛给父节点。
e.stopPropagation() 取消事件冒泡机制
jQuery合成事件
hover(mouseenter,mouseleave)  光标悬停事件 (进入特效,离开特效)
toggle()  在多个事件响应切换 (显示与隐藏)
电脑模拟操作事件
$obj.trigger(事件类型)  
如:$obj.triger("focus")/$obj.focus();
jQuery动画
1.隐藏/显示  show()/hide()
如:$obj.show(执行时间,动画完毕后执行的函数)
2.上下滑动 slideDown()/slideUp
用法同上
3.淡入淡出式动画  fadeIn()/fadeOut()
用法同上
4.自定义动画
移动位置:
animate(偏移起始位置,执行时间,回调函数)(回调函数选择写)
(若移动图片则需预先将图片定位,改变流定位默认模式, 在样式中将图片设置为相对定位:position:relative)
如:$("div").click(function(){
$(this).animate({'left':500px'},4000);
$(this).animate({'top':300px'},2000);
});
元素变形:
如:$("div").animate({"height":"300px"},2000).animate({"width":"300px"},2000);

//each()是jQuery封装的遍历方法
//含义是每次循环都执行each()里的function()
$(emps).each(function(){});


猜你喜欢

转载自blog.csdn.net/m0_38025207/article/details/80723345