Jquery的详解


一、 基本概念

1. jQuery简介

jQuery是一个基于javascript的框架。它提供了丰富的选择器和大量的函数,可以方便的实现网页中各种动态的效果。迄今为止,已经有大量的jquery插件和基于jQueryUI框架(miniuieasyuiligerui)。

jQuery的宗旨是:write less,do more!

2. 文档加载完毕函数

常规形式:$(document).ready(function(){… …});

简写形式:$(function(){… …});

3. jquery对象和js对象的相互转化

jquery对象不等同于js对象!

js对象的属性和方法,jquery对象不能调用;jquery对象的属性和方法,js对象也不能调用。

js转jquery$(js对象)

jquery转js$(“#box1”).get(0)  或者    $(“.box”)[0]

二、 选择器

jquery的基石就是选择,jquery提供了大量的选择器。建议在不同的业务场景下使用不同的选择器。

注意:通过任何一个选择器筛选到的结果都是一个数组,所以要判断通过选择器是否筛选到了元素,可以通过length属性进行判断。

1. 基本选择器

n ID选择器

$(“#ID”)    例如:$(“#txt1”)

n 类选择器

$(“.class名称”)   例如:$(“.box”)

n 标记选择器

$(“tagName”)   例如:$(“div”)

n 组合选择器

$(“selector1,selector2,selector3”)   例如:$(“.box,#txt1,div”)

n 通配符选择器

$(“*”)

2. 层次选择器

n 父子选择器

$(“selector1 > selector2”)

n 祖先后代选择器

$(“selector1   selector2”)

n 后兄弟选择器

$(“selector1~siblings”)

n 相邻的后兄弟选择器

$(“selector1 + selector2”)

3. 基本过滤选择器

n :first :筛选第一个元素

n :last :筛选最后一个元素

n :odd :筛选索引值为奇数的元素

n :even :筛选索引值为偶数的元素

n :eq(n) :筛选索引值等于n的元素

n :gt(n) :筛选索引值大于n的元素

n :lt(n) :筛选索引值小于n的元素

n :not(selector) :筛选排除selector以外的元素

4. 内容过滤选择器

n :contains(text) :筛选文本内容包含text的元素

n :empty :筛选不包含任何子元素和文本内容的元素

n :parent :筛选包含子孙元素或文本内容的元素

5. 可见性过滤选择器

n :visible :筛选可见元素

n :hidden :筛选不可见元素

6. 属性过滤选择器

n [attr] :筛选存在attr属性的元素

n [attr=value] :筛选attr属性值等于value的元素

n [attr!=value] :筛选attr属性值不等于value的元素

n [attr^=value] :筛选attr属性值以value开头的元素

n [attr$=value] :筛选attr属性值以value结尾的元素

n [attr*=value] :筛选attr属性值包含value的元素

7. 表单属性选择器

n :checked :筛选选中状态的单选按钮和复选框

n :selected :筛选选中的下拉列表项

n :enabled :筛选可用的表单元素

n :disabled :筛选不可用的表单元素

8. 表单对象选择器

n :text :筛选单行文本框

n :button :筛选按钮元素

n :submit :筛选提交按钮

n :password :筛选密码框

n :radio :筛选单选按钮

n :checkbox :筛选复选框

n :file :筛选文件域

n :image :筛选图片

 

 

三、 筛选函数

n parent() :获取父元素

n children() :获取子元素

n next() :获取相邻的后兄弟元素

n nextAll() :获取所有的后兄弟元素

n prev() :获取相邻的前兄弟元素

n prevAll() :获取所有的前兄弟元素

n find() :从子孙后代元素中查找满足条件的子孙元素(过滤后的是这组元素的子孙元素)

n filter() :从一组元素中筛选满足条件的元素(过滤后的是这一组元素中的部分元素)

n first() :获取第一个元素

n last() :获取最后一个元素

n siblings() :获取所有的同辈元素

n not() :排除指定的元素

n index() :获取一个元素在一组元素中的索引值

n eq(n) :获取索引值等于n的元素

四、 样式操作

n css(“css属性”) :获取css属性的值

n css(“css属性”, “值”) :css属性赋值

n css({“css属性1”:“值”,  “css属性2”:”值”}) :通过给多个css属性赋值

n addClass :添加class样式

n removeClass :移除class样式

n toggleClass :切换class样式

n hasClass :判断是否拥有class样式,有返回true,否则返回false

五、 属性操作

n attr(“属性名”) :获取属性的值

n attr(“属性名”, “值”) :给属性赋值

六、 DOM操作

n append() :追加子元素(最后一个子元素)

n prepend() :添加子元素(第一个子元素)

n remove() :移除元素

n empty() :清除所有的子孙元素

n after() :添加一个后兄弟元素

n before :添加一个前兄弟元素

七、 事件

1. 事件的类型

loadclickdblclickfocusblurchangemouseovermouseoutmousemovemouseentermouseleavekeyupkeydownkeypressscrollresize

2. 事件函数

n bind :为事件绑定函数

$(“#button1”).bind(“click”, function(){… …})

n unbind :解除绑定的事件

$(“#button1”).unbind(“click”);

n click(function(){}) :为事件绑定函数的另一种写法

$(“#button1”).click(function(){… …});

n click() :触发或模拟单击事件

3. 事件参数

$(“#button1”).click(function(event){

event.target:获取触发当前事件的元素

event.source

event.which:获取对应的键盘按键值和鼠标按键值

event. preventDefault():阻止浏览器默认行为

event. stopPropagation():阻止事件冒泡

});

八、 动画

n show([slow|normal|fast]|毫秒数):让元素显示

n hide([slow|normal|fast]|毫秒数):隐藏元素

n toggle([slow|normal|fast]|毫秒数):切换元素的显隐状态

n slideUp():让元素隐藏(高度逐渐变为0)

n slideDown():让元素显示(高度从0逐渐恢复到原始高度)

n slideToggle():切换元素的显隐状态(改变的是高度)

n fadeIn():让元素显示(透明度逐渐变为不透明)

n fadeOut():让元素隐藏(改变透明度逐渐变为透明)

n fadeToggle():切换元素的显隐状态(改变透明度)

n animate():自定义动画

$(“#box1”).animate({width:”+=50px”, height:”200px”}, 1000)

九、 其他函数

n height()height(val)

n width()width(val)

n val(value)val()

n text(value)text()

n html(value)、html()

上述函数有参数表示赋值,没有参数表示获取值。

十、 ajax

n load(url)

通过ajax加载内容。

$(“#box1”).load(“http://192.168.2.1:8080/ajax_2017010701/gettime.do”);

n $.get(url, parameter, callback, type)

get方式向服务器发送请求

n $.post(url, parameter, callback, type)

post方法向服务器发送请求

n $.getJSON(url, parameter, callback)

get方式向服务器发送请求,并且服务器返回的结果为json格式

n $.ajax({

type:”get|post”,

url:请求的地址”,

success:function(data){请求成功后的回调函数},

error:function(xhr){请求失败时调用的函数},

dataType:”text|json|html|js”

})

最底层的一个ajax函数,上面所有的方法都可以通过这个函数实现

 

你可能感兴趣的:(jquery)