JQuery
Javascript和query查询,它是辅助Javascript开发的js类库。
//例1
<head>
<script type="text/javascript">
$(function (){
var $btnobj = $("#btnid");
$btnobj.click(function (){
alert("jquery单机事件");
});
});
</script>
</head>
<body >
<button id="btnid">jquery</button>
</body>
$是jQuery的核心函数,能完成jQuery的很多功能。$(param)就是调用这个函数
参数为函数时:表示页面加载完成之后。相当于window.onload=function(){};
参数是Html字符串时:会帮我们创建html标签对象。
参数是选择器字符串时:$(“#id属性值”); 表示id选择器,根据指定的标签名查询标签对象
参数是DOM对象时:会把dom对象转换成jquery对象。
jQuery对象本质:
dom对象的数组和jQuery提供的一系列功能函数。
jQuery对象不能使用dom对象的属性和方法,反之dom对象也不能使用jQuery的。
Dom对象和jQuery对象互转
dom转jQuery:先有DOM对象,$(DOM对象)就可以转为jQuery对象
jQuery转dom:现有jQuery对象,jQuery对象[下标]取出对应的dom对象
alert(document.getElementById("divid")); //dom对象
alert($(document.getElementById("divid"))); //dom转jQuery对象
alert($(document.getElementById("divid"))[0]); //jQuery转dom对象
jQuery选择器
基本选择器
#ID:根据id查找标签对象
.class:根据class查找标签对象
element:根据标签名查找标签对象
*:表示任意的,所有的元素
selector1,selector2 组合选择器:合并选择器1,2的结果并且返回
层级选择器
ancestor descendant:后代选择器,在给定的祖先元素下匹配所有的后代元素
parent>child:子元素选择器,在给定的父元素下匹配所有的子元素
prev+next:相邻选择器,匹配所有紧接在prev元素后的元素
prev~sibings:之后的兄弟元素选择器,匹配prev元素后的所有sibings元素
过滤选择器
:first 获取第一个元素
:last 获取最后个元素
:not(selector) 去除所有与给定选择器匹配的元素
:even 匹配所有索引值为偶数的元素,从0开始计数
:odd 匹配所有索引值为奇数的元素,从开始计数
:eq(index) 匹配一个给定索引值的元素
:gt(index) 匹配所有大于给定索引值的元素
:lt(index) 匹配所有小于给定索引值的元素
:header 匹配如h1, h2, h3之类的标题元素
:animated 匹配所有正在执行动画效果的元素
内容过滤器
:contains(text) 匹配包含给定文本的元素
:empty 匹配所有不包含子元素或者文本的空元素
:parent 匹配含有子元素或者文本的元素
:has(selector) 匹配含有选择器所匹配的元素的元素
属性过滤器
[attribute] 匹配包含给定属性的元素。
[attribute=value] 匹配给定的属性是某个特定值的元素
[attribute!=value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素。
[attribute~=value] 匹配给定的属性是以某些值开始的元素
[attribute$=value] 匹配给定的属性是以某些值结尾的元素
[attribute*=value] 匹配给定的属性是以包含某些值的元素
[attrSel1][attrSel2][attrSelN] 复合属性选择器,需要同时满足多个条件时使用。
表单过滤器
:input 匹配所有input, textarea, select和button元素
:text 匹配所有文本输入框
:password 匹配所有的密码输入框
:radio 匹配所有的单选框
:checkbox 匹配所有的复选框
:submit 匹配所有提交按钮
jQuery元素筛选
eq() 获取给定索引的元素
first() 获取第一个元素
last() 获取最后一个元素
filter(exp) 留下匹配的元素
is() 判断是否匹配给定的选择器,只要有一个匹配就返回,true
has(exp) 返回包含有匹配选择器的元素的元素
not(exp) 删除匹配选择器的元素
children(exp) 返回匹配给定选择器的子元素
find(exp) 返回匹配给定选择器的后代元素
next() 返回当前元素的下一个兄弟元素
nextAll() 返回当前元素后面所有的兄弟元素
nextUntil() 返回当前元素到指定匹配的元素为止的后面元素
parent() 返回父元素
prev(exp) 返回当前元素的上一个兄弟元素
prevAll() 返回当前元素前面所有的兄弟元素
prevUnit(exp) 返回当前元素到指定匹配的元素为止的前面元素
siblings(exp) 返回所有兄弟元素
add() 把add 匹配的选择器的元素添加到当前jquery对象中
jQuery属性操作
html() 可以设置和获取起始标签和结束标签中的内容
text() 可以设置和获取起始标签和结束标签中的文本
val() 可以设置和获取表单项的value属性值;还可以同时设置多个表单选项的选中状态
<script type="text/javascript">
$(function (){
//不传参数是获取 传参数是设置
alert($("div").html());
$("div").html("<h1>div的标题</h1>");
});
</script>
CSS样式操作
addClass() 添加样式
removeClass() 删除样式
toggleClass() 有效删除样式
offset() 获取和设置元素的坐标
jQuery动画
基本动画
show() 将隐藏的元素显示
hide() 将可见的元素隐藏
toggle() 可见就隐藏,不可见就显示
可添加参数:动画执行时长,毫秒为单位;动画的回调函数(动画完成后自动调用的函数)
淡入淡出动画
fadeIn() 淡入
fadeOut() 淡出
fadeTo() 在指定时长内慢慢将透明度修改到指定的值
fadeToggle() 切换
jQuery中其它的事件处理方法
click() 它可以绑定单机事件,以及触发单机事件
mouseover() 鼠标移入事件
mouseout() 鼠标移出事件
bind() 可以给元素一次性绑定一个或多个事件
one() 使用上和bind一样,但是只能响应一次
unbind() 和bind方法相反的操作,接触事件的绑定
live() 用来绑定匹配选择器匹配的所有元素的事件,后面动态创建的也有效。
事件的冒泡
父子元素同时监听同一个事件的时候,同一个事件也被传递到了父元素的事件里去响应。
阻止事件的冒泡
在事件的函数体内,return false;可以阻止事件的冒泡传递。
JavaScript事件对象
封装有触发的事件信息的一个JavaScript对象。获取到对象的所有事件信息
在给元素绑定事件的时候,在事件的 function(event) 参数列表中添加一个参数,这个参数就是JavaScript传递事件处理函数的事件对象
//javascript 获取 事件对象
window.onload = function () {
document.getElementById("areaDiv").onclick = function (event) {
console.log(event);
}
}
//jQuery 代码获取 事件对象
$(function () {
$("#areaDiv").click(function (event) {
console.log(event);
});
});