
jQuery?----www.jQuery.com
jQuery的理念:write less, do more
jQuery的成就:世界排名前100的公司,46%都在使用jQuery,远远超过其他库,微软公司甚至把jQuery库 作为了他们的官方库。
what is jQuery?(这是我复制官网上的介绍,觉得说的很专业)
jQuery is a fast, small, and feature-rich(功能丰富) JavaScript library. It makes things like HTML document traversal and manipulation(循环和遍历), event handling(事件 处理), animation(运动), and Ajax(异步的js与xml) much simpler with an easy-to-use API that works across a multitude of browsers(跨浏览器). With a combination(组合) of versatility and extensibility(通用性和可扩展性的), jQuery has changed the way that millions of people write JavaScript.
jQuery的特点?
轻量级脚本语言(Lightweight footprint)
css兼容性(css compliant)
跨浏览器(cross browser)
jQuery的核心思想
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery--jQuery的设计思想1</title>
<link rel="author" href="humans.txt">
<script src="jquery-1.4.1.min.js"></script>
<script type="text/javascript"> /*
1.选择网页元素
1.1 css选择器
-$(document)//选择整个文档
-$("#myId")//选择ID为myId的网页元素
-$('div.myClass')//选择class为myClass的div元素
1.2 jQuery特有的表达式
-$('a:first')//选择网页中第一个a元素
-$('tr:odd')//选择表格的奇数行
-$('div:visible')//选择可见的div元
2.方法函数化
1.1 原生的
-window.onload
-innerHTML
-onclick
1.2 jquery的
-$()
-html()
-click()
3.原生与jquery的关系
3.1 原生、jq可以共存
-$("#div1").html()
-oDiv.innerHTML
3.2 原生、jq不能混用
-$("#div1").innerHTML
-ODIV.html()
4.改变结果集
4.1 强大的过滤器
-$('div').has('p');//选择包含p标签的div标签
-$('div').not('.myClass');//选择class不等于myClass的div元素
-$('div').filter('.myClass');//选择class等于myClass的div元素
4.2 相邻元素查找
-$('div').next('p');//选择div元素后面的第一个p元素
-$('div').parent();//选择div元素的父元素
-$('div').children();//选择div的所有子元素
5.链式操作
$('div').find('h3').eq(2).html('hello');
--找到div元素,选择其中的h3元素,选择第3个h3元素,将它的内容改为Hello jQuery还提供了.end()方法,使得结果集可以后退一步
------>这个就使得我们可以用一个链式操作,写完一整个效果都没有问题。
6.取值与赋值合体
$('h1').html();//html()没有参数,表示取出h1的值
$('h1').html('hello');//html()没有参数Hello,表示对h1进行赋值 .val()
.attr()
.width() 取值是一组中的 第一个元素,赋值是所有的元素
7.元素移形换位
7.1 直接移动该元素
-$('div').insertAfter($('p'));//把div元素移动到 p元素后面
-$('div').appendTo($('p'));//把div元素剪切到p元素的后面
7.2 移动其他元素
-$('p').after($('div'));//把p元素加到div元素前边
-$('div').append($('p'));//把p元素插入到div的里边
区别:操作的元素不同
8.强大的创建
$('#ul').append('<li>aaaa</li>');
===
var oLi = $('<li>');
oLi.html('aaaa');
$("#ul").append(oLi); clone()
9.工具方法(重点)
9.1 构造函数上的方法
-$.each([],function(){})
-$.trim($('div').attr('class'))--去掉class属性的前后空格 解释:$.方法:添加到构造函数,静态方法
9.2 原型上的方法
-$('div').each(function(index,elements){})
index--索引
elements--当前所有元素中正在操作的 demo:
function $(){
$.each = function(){
//构造函数下面的方法:$.each()
}
$.prototype.each = function(){
//原型下面的方法:$('div').each()
}
}
10.事件操作
10.1 独立事件
- click()
- mouseover()
10.2 通用事件
- bind();//同一个对象上,可绑定多个事件
- one();//绑定的事件只可以执行一次
-unbind();//取消
- e:event对象
- pageX等;//鼠标相对于屏幕的坐标,原生中是clientX
- 阻止默认与冒泡;//return false--既可以阻止冒泡又可以阻止默认事件 demo:toggle--循环执行,后面可以接多个函数
$('input').toggle(function(){},function(){},function(){})
hover--$('div').hover(function(){},function(){})
11.运动效果
11.1 常见效果
-.fadeIn();//淡入
-.fadeOut();//淡出
-.slideDown();//向下展开
-.slideUp();//向上卷起
11.2 复杂效果
-.animate();//运动
-.stop();//阻止前面的运动效果,执行当前的运动事件
12.插件机制(plugins)--demo
在JQ的源码上进行拓展,一个个做好的应用
13.UI组件(jQuery UI)
JQ官方提供的功能效果和UI样式
14.手机、社区、论坛 */
</script>
</head>
<body>
</body>
</html>