jQuery笔记

  • 一、jQuery的概述:
  • 1.jQuery是干什么的呢?
  • 2.jQuery基本语法:
  • 3.$(document).ready()与window.onload比较
  • 4.DOM对象与jQuery对象的互相转换
  • 二、选择器
  • 1.基本选择器
  • 2.层次选择器
  • 3.属性选择器:
  • 4.4.过滤选择器
  • 三.事件和动画
  • 1.基础事件
  • 鼠标事件:
  • 2.键盘事件:
  • 3.表单事件
  • 4.绑定事件
  • 5.复合事件
  • 6.动画效果
  • 四、使用jQuery操作DOM
  • 1.样式操作
  • 2.内容及value属性值操作
  • 3.节点操作
  • 4.属性操作:


一、jQuery的概述:

前言
jQuery是有美国人John Resig于2006年创建,它是目前最流行的JavaScript程序库,是对JavaScript对象和函数 的封装;其设计思想是write less,do more,写的少,实现功能多。

1.jQuery是干什么的呢?

访问和操作DOM元素;
控制页面样式化;
对页面时间进行处理;
扩展新的jQuery插件;
与Ajax技术完美结合;

2.jQuery基本语法:

第一种语法
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script>
	$(function(){
	alert("ok");
	});
</script>
第二种语法
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script>
	jQuery(function(){
	alert("ok");
	});
</script>
第三种语法
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script>
	$(document).ready(function(){
		alert("");
		};
</script>
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script>
	$(document).ready(function(){
		alert("");
		};
</script>
第四种语法
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script>
	jQuery(document).ready(function(){
		alert("");
		};
</script>

3.$(document).ready()与window.onload比较

window.onload

$(document).ready()

执行时机

必须等待网页中所有的内容加载完毕后(包括图片、flash、视频等)才能执行

DOM加载过来就执行

编写个数

同一页面不能同时编写多个

同一页面可以编写多个

简化写法


$(function(){//代码});

5.DOM对象和jQuery对象
¥DOM对象直接使用JS获取的对象节点如:var domEle = document.getElementById(‘one’);
var objHTML = domEle.innerHTML;
¥jQuery对象使用jQuery包装DOM对象后产生的对象,可以使用jQuery中的方法如:
$(‘one’).html();
注意:DOM对象与jQuery对象是不能混用的。

4.DOM对象与jQuery对象的互相转换

使用$()函数进行转换$(DOM)对象
var conELe = document.getElementById('content');//获取dom对象;
var $con = $(conEle);//将dom对象转换为jQuery对象
alert(conEle.html());此处可以使用jQuery的方法;
jQuery转化为DOM
var $conEle = $("#content");//获取jQuery 对象;
var conEle = $conEle.get(0);//转化;
alert(conEle.innerTHML);调用dom对象的方法

二、选择器

1.基本选择器

1>标签选择器
$(“h1”).css(“backgroud”,”#09F”);
2>类选择器
$(“.类名”).css(“backgroud”,”#09F”);
3>ID选择器
$(“#id名”).css(“backgroud”,”#09F);
4>并集选择器(h2,dt,以及 类为 title)
$(“h2,dt,.title”).css(“background”,"#09F")用,连接
5>交集选择器 h2并且类是title的风格
$(“h2.title”).css(“background”,"#09F")
6>全局选择器
$(“*”).css(“color”,”red”);

2.层次选择器


(1)后代选择器: $ ("#menu span").css();//获取设置#menu下所有span元素的样式; (2)子选择器: $("#menu > span").css();//获取设置#menu下的子元素span的背景颜色; (3)相邻选择器: $("h1 + dl").css();//获取设置紧接在h1元素后的dl元素样式; (4)同辈元素选择器: $("h1~dl").css();//获取设置h1元素之后的所有同辈dl元素样式;

3.属性选择器:


[attribute=value] 选取等于给定属性是某个特定值的元素 [attribute !=value] 选取不等于给定属性是某个特定值的元素 [attribute ^=value] 选取给定属性是以某些特定值开始的元素 [attribute$=value] 选取给定属性是以某些特定值结尾的元素 [attribute*=value] 选取给定属性是以包含某些值的元素

:first 选取第一个元素 $(" li:first" )选取所有

  • 元素中的第一个
  • 元素
    :last 选取最后一个元素 $(" li:last" )选取所有
  • 元素中的最后一个
  • 元素
    :even 选取索引是偶数的所有元素(index从0开始) $(" li:even" )选取索引是偶数的所有
  • 元素
    :odd 选取索引是奇数的所有元素(index从0开始) $(" li:odd" )选取索引是奇数的所有
  • 元素
    :eq(index) 选取索引等于index的元素(index从0开始) $(“li:eq(1)” )选取索引等于1的
  • 元素
    :gt(index) 选取索引大于index的元素(index从0开始) $(" li:gt(1)" )选取索引大于1的
  • 元素(注:大于1,不包括1
    :lt(index) 选取索引小于index的元素(index从0开始) $(“li:lt(1)” )选取索引小于1的
  • 元素(注:小于1,不包括1)

4.4.过滤选择器

过滤选择器通过特定的过滤规则来筛选元素 ,
语法特点是使用“:”,如使用$(“li:first”)来选取第一个li元素

1.基本过滤选择器:
:not(selector) 选取出去与给定选择器匹配的元素;如:jquery语法 jquery语法 由哪几部分组成_jquery语法(":header")选取的是网页中所有标题元素;
2.可见性过滤选择器:
:visible 选取所有可见的元素 $(":visible")选取所有可见的元素;
:hidden 选取所有 隐藏的元素 $(":hidden")选取的是所有隐藏的元素;

三.事件和动画

概述:jQuery事件是对JavaScript事件的封装,常用分类如下:

1.基础事件

¥window事件
¥鼠标事件
¥键盘事件
¥表单事件

鼠标事件:

鼠标事件是当用户在文档上移动或单击鼠标时而产生的事件,常用鼠标事件有:

方法

描述

执行时机

click()

触发或将函数绑定到指定元素的click事件

单击鼠标时

mouseover()

触发或是将函数绑定到指定元素的mouseover事件

鼠标移过时

mouseout()

触发或是将函数绑定到指定元素的mouseout()事件

鼠标移出时

2.键盘事件:

方法

描述

执行的时机

keydown()

触发或将函数绑定到指定元素的keydown事件

按下键盘时

keyup()

触发或是将函数绑定到指定的元素的keyup事件

释放按键时

keypress()

触发或是将函数绑定到指定的元素的keypress事件

产生可打印的字符时

3.表单事件

方法

描述

执行时机

focus

触发或是将函数绑定到指定的元素的focus事件

获取焦点

blur

触发或是将函数绑定到指定元素的blur事件

失去焦点

4.绑定事件

通俗来讲就是绑定单个与多个事件,使用的关键字是bind,live与bind用法相同,但是live可以让新添加的元素拥有该事件;

//单个事件绑定
$(function(){
	$("one").bind("click",function(){
		$("p span").css({"font_weight":"bold","color":"yellow")};
		 $("#show").bind({
        mouseover:function(){
         //多个绑定;   $("ul").css("display","block");
        },
        mouseout:function(){
            $("ul").css("display","none");
        }
    });
$("one").unbind("click");//解除单个绑定;
$("ul").unbind();//解除多个绑定;
});

5.复合事件

它是过个事件组合在一起;

1.鼠标光标悬停:
hover()方法相当于mouseover与mouseout事件的组合;
2.鼠标连续点击事件:
toggle() 方法用于模拟鼠标连续点击事件;

6.动画效果

常用的动画效果有:
控制元素显示与隐藏,
控制元素淡入淡出,
改变元素的高度;

$(function(){
	$("#show").click(function(){
		$("div").show(1000);
	});
	$("#hidden").click(function(){
		$("div").hide("fast");
	});
});

toggle()它也能用于切换元素的课件状态;使用如:

$("#togg").click(function(){
	$("div").toggle();
});

fadeIn()与fadeOut()可以通过改变元素的透明度实现淡入淡出效果,使用与显示与隐藏相似;
slideDown()可以让元素逐步延伸显示,而slideUp()则是将元素逐步缩短直到隐藏,使用方法同上;

四、使用jQuery操作DOM

1.样式操作

使用css()为指定的元素设置样式值,有两种语法:1.css(name,value),2.css({name:value,name:value,…}); 追加与移除样式:addClass(“class”)或是多个(“class1 class2…classN”)
removeClass(“style”)或是removeClass(“style1 style2”)
toggleClass()模拟了addClass()与removeClass()实现样式切换的过程
toggleClass(class)

2.内容及value属性值操作

html()可以对HTML代码进行操作,类似于js中的innerHTML,text()获取或是设置元素的文本内容;
无参数则为获取匹配元素的内容,有参数则是为匹配元素进行内容的设置;
val()可以获取或是设置元素的value值;

3.节点操作

创建节点元素:
$(selector):通过选择器获取节点
$(element):把DOM节点转化成jQuery节点
$(html):使用HTML字符串创建jQuery节点
插入子节点:
append(content) jquery语法 jquery语法 由哪几部分组成_选择器_02(B)appendTo(A)即将B加到A中;
prepend(content)jquery语法 jquery语法 由哪几部分组成_jQuery_03(B).prepend(A)即将B前插到A中;
插入同辈节点,元素外部插入同辈节点
after(content)$(A).after(B),将B插入到A之后;
before: $(A).before(B),将B插入到A之前;
替换节点 replaceWith()和replaceAll()用于替换某个节点
jquery语法 jquery语法 由哪几部分组成_jquery_04newNode1);
复制节点:
clone()用于复制某个节点(true:指示事件处理函数是会被复制,false:不会赋值)
删除节点
remove():删除整个节点 (该方法会保留当前jquery对象,该方法会有返回值类型,是该节点)
empty():清空节点内容

4.属性操作:

attr()用来获取与设置元素属性;
removeAttr()用来删除元素的属性;
节点遍历:
子元素:children()方法可以获取元素的所有子元素;$(“div”).children();
同辈元素:
next 获取紧邻匹配元素之后的元素;
prev:获取紧邻匹配元素之前的元素;
slibings用于获取位于匹配元素前面和后面的所有同辈元素;
parent():获取元素的父级元素;
parents():获取元素的祖先元素;
each():进行遍历;
find():获取正在处理的元素的后代元素(所有下级元素);