### jQuery学习资料总结 在本篇文章中,我们将深入探讨jQuery的核心功能与用法,并通过具体的示例来加深理解。jQuery是一款流行的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等操作。下面,让我们逐一解析标题与描述中提到的知识点。 #### 1. `window.onload` 与 `$(document).ready` - **`window.onload`**:这个函数会在整个页面(包括所有依赖资源如图片、样式表等)加载完毕后执行。 - **`$(document).ready`**:此方法则在DOM结构完成加载后即刻触发,无需等待其他资源加载完成。 - **简写形式**:为了提高代码的可读性及简洁性,jQuery提供了更简便的写法——`$(function(){});`,这与`$(document).ready(function(){});`是等效的。 #### 2. jQuery与DOM操作 - **jQuery vs DOM**: - **jQuery** 是DOM的一个封装层,可以简化DOM的操作。例如,使用`$("#foo").html();`获取元素的内容,而使用原生DOM方法则需要`document.getElementById('foo').innerHTML;`。 - **区别**:尽管两者都能实现相同的功能,但jQuery提供了更简洁的语法和更多的功能支持,比如选择器、动画效果等。另外,jQuery还具有更好的跨浏览器兼容性。 - **jQuery对象与DOM对象转换**: - **从jQuery对象到DOM对象**:可以通过`get()`方法来实现,如`var cr = $("#cr").get(0);`。 - **从DOM对象到jQuery对象**:直接使用`$()`包裹即可,如`var $cr = $(cr);`。 #### 3. jQuery选择器详解 - **基本选择器**:包括ID选择器`#id`、类选择器`.class`、元素选择器`tag`等。例如`$("div p")`选择所有`<div>`内的`<p>`元素。 - **层次选择器**:如子元素选择器`$("div > span")`只选择直接作为`<div>`子元素的`<span>`元素;相邻兄弟选择器`$("div + span")`选择紧接在`<div>`后面的`<span>`元素;通用兄弟选择器`$("div ~ span")`选择所有在`<div>`之后的`<span>`元素。 - **过滤选择器**: - **子元素选择器**:如`$("div:first")`选择第一个`<div>`元素。 - **可见性选择器**:如`$("div:visible")`选择所有可见的`<div>`元素。 - **属性选择器**:如`$("div[title]")`选择所有带有`title`属性的`<div>`元素。 - **表单对象属性选择器**:如`$("input:checked")`选择所有被选中的`<input>`元素。 #### 4. 常用方法介绍 - **`toggle()`**:该方法用于切换元素的可见性或执行一系列回调函数。`$().toggle(function(){}, function(){});`可以在两个函数之间切换执行。`$().toggleClass("myclass")`可以在元素上添加或删除CSS类。 - **`html()` 和 `text()`**:`html()` 方法用于获取或设置元素的HTML内容,而`text()`则仅获取或设置文本内容。它们的区别在于`html()`会保留HTML标签,而`text()`则不会。 - **`css()`**:用于获取或设置CSS属性值。例如,`$("p").css("opacity", "0.5");`将`<p>`元素的不透明度设置为0.5。 - **`offset()`**:返回一个对象,包含元素相对于文档左上角的位置,通常用于定位元素。`$offset = $("p").offset();`可以获取元素的偏移量。 - **事件绑定**:`bind()`方法可以为元素绑定事件处理器,如`$().bind("click", function(){$(this).next("div").show("fast");});`为元素绑定点击事件,当点击时显示紧邻其后的`<div>`元素。 - **`hover()`**:用于创建鼠标悬停事件的便捷方法,如`hover(enter, leave)`,分别对应于鼠标进入和离开时的回调函数。 - **`one()`**:类似于`bind()`,但只触发一次就自动解除绑定,适用于一次性事件处理。 以上内容涵盖了jQuery的基础知识与核心功能,希望能对自学jQuery的朋友们有所帮助。在实际应用中,还需要根据具体需求灵活运用这些方法和技术。
前者如果同时写几个,只有最后一个会执行,而后者无论写几个都会被执行
前者没有简写方式,后者的简写方式为:$(function(){});
2.认识jquery对象和dom对象:
jquery对象是对dom对象的包装,例如:$("#foo").html();
dom对象就是获得网友中的节点,通过getElementtById()......之类的方式来获取就可以了
jquery对象和dom对象的方法是不一样的,二者不能混淆使用,jquery对象有自己的方法,dom对象也有自身的方法
jquery对象的变量必须加上$符号,而dom对象没有
3.关于jquery和dom对象的相互转换
jquery对象转dom对象:直接通过dom对象的get方法来得到,因为jquery对象获取的是一个数组对象
例如:var $cr=$("#cr") var cr=$cr.get(0);
dom转换为jquery就更直接了:
例如:var cr=document.getElementById("#cr") var $cr=$(cr);
4.jquery中的is(":checked")方法来判断是否被选中;show(3000)方法表示将隐藏的元素显示出来,参数表示显示出来的时间快慢,时间单位是毫秒。
5.jquery中的选择器的分类:
基本选择器:
#id,.class ,元素标签,*,p.myclass表示查找到含有myclass标签的p元素.....
层次选择器:
$("div span")表示选取div中所有的span元素,中间有空格表示在什么中去查找
$("div>span")表示选取div中所有元素名为span的子元素,>表示查找子元素
$("div+span")表示选取紧追div后的元素,+表示邻居元素
$("div~span")表示div后的所有兄弟元素,~表示兄弟元素
其中注意$("div~span")和siblings()的区别,前者表示div后的所有兄弟节点,而siblings方法表示与div同级的所有兄弟节点,不分前后问题。
过滤选择器:
基本过滤选择器:
$("div:first"):表示所有div元素中的第一个。
$("div:last"):表示所有div元素中的最后一个。
$("input:not(.myclass)"):表示所有input标签中没有myclass类的元素。
$("div:even"):表示索引为偶数的div元素。索引都是从0开始的。
$("div:odd"):表示索引为基数的div元素。
$(":header"):表示选取所有标题元素。
内容过滤选择器:
$("div:contains('我')"):表示选取内容含有"我"的所有div元素。
$("div:empty"):表示选取空的div元素,所谓空就是div中什么都没有,连文本都没有的
$("div:has(p)"):表示选取div中含有p元素的所有div元素。
$("div:parent"):表示选取所有不为空的div元素。
可见性过滤选择器:
$("div:hidden"):表示所有不可见的div元素,不可见包括隐藏域,样式为display:none和visibility:hidden的元素
$("div:visible"):表示所有可见的div元素。
属性过滤选择器:
$("div[id]"):表示选取所有存在id属性的div元素。
$("div[title='test']"):表示选取所有存在title属性=test的div元素,其中"="可以换成"^="开始,"$="结束,"*="含有,"!="不等于。
$("div[id][title='test']"):表示选取含有id属性和title属性为test的div元素。
子元素过滤选择器:采用"-"来标记
$("ul li:first-child"):表示ul下的第一个li子元素。
6.toggle()方法:
$().toggle(function(){},function(){})表示单机时两个函数循环执行,第一次单击执行第一个函数,第二次单击执行第二个函数。
$().toggleClass("myclass"):表示如果myclass样式不存在,则添加myclass样式,如果存在则删除
判断是否含有某个样式,采用hasClass()方法来判断
7.html()方法和text()方法区别:
前者返回的值包含标签,后者返回的只是文本值。
8.关于css中设置透明度,使用opacity来设置。
例如:$("p").css("opacity","0.5");其中的值设置为0.5表示半透明。
9.关于offset()方法,获取元素在当前视窗的偏移,不包含单位。切记是当前视窗。
例如:$offset=$("p").offset();
alert($offset.left);
alert($offset.top);
10.bind()方法是为某元素绑定事件,格式为$(element).bind("事件名称",function(){});
例如:$().bind("click",function(){
剩余5页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助