1.$(document).ready(function(){})和window.onload=function(){} 二者执行时间不同。$(documnet).ready(function(){})在页面框架下载完毕后就执行;而window.onload=function(){}必须在页面全部加载完毕后才能执行。 二者执行数量不同。$(document).ready(function(){})可以重复写多个,并且每次执行结果不同;而window.onload=function(){}也可执行多次,但每次只输出最后一个结果。 2.js和jQuery的检测机制 在js中,给页面中某元素设置事物时必须先找到该元素,然后赋予相应的属性或事件,若该元素不存在,则浏览器会报错;在jQuery中,无需考虑所定位的元素在页面中是否存在。 3.向html中输出信息 js var xxx=document.getElementById("xxx"); xxx.innerHTML="msg"; jQuery $("#xxx").html("msg"); 4.jQuery选择器 根据所获取页面中元素不同,可以将jQuery选择器分为:基本选择器、层次选择器、过滤选择器、表单选择器。过滤选择器又分为简单过滤选择器、内容过滤选择器、可见性过滤选择器、属性过滤选择器、子元素过滤选择器、表单对象属性过滤选择器。 基本选择器:它由元素id、class、元素名、多个选择符组成。 #id 根据给定id匹配一个元素 element 根据给定的元素名匹配所有元素 .class 根据给定的类匹配所有元素 * 匹配所有元素 selector1,selectorN 将每一个选择器匹配到的元素合并后一起返回 层析选择器:通过DOM元素间的层次关系获取元素,其主要的层次关系包括后代、父子、相邻、兄弟关系。通过其中某类关系可以方便快捷的定位元素。 ancestor descendant 根据祖先元素匹配所有的后代元素 parent > child 根据父元素匹配所有的子元素 prev + next 匹配所有紧跟在prev元素后的相邻元素 可以用.next()代替 prev ~ siblings 匹配prev元素之后的所有兄弟元素 可以用.nextAll()代替 简单过滤选择器:根据某类过滤规则进行元素匹配,书写时以冒号开头(:)。 first() :first 获取第一个元素 last() :last 获取最后一个元素 :not(selector) 获取除给定选择期外的所有元素 :even 获取所有索引值为偶数的元素 索引号从0开始 :odd 获取所有索引号值为奇数的元素 索引号从0开始 :eq(index) 获取指定索引值的元素 索引号从0开始 :gt(index) 获取所有大于给定索引值的元素 索引号从0开始 :lt(index) 获取所有小于给定索引值的元素 索引号从0开始 :header 获取所有标题类型的元素 :animated 获取正在执行动画效果的元素 内容选择器:根据元素中的文字内容或所包含的子元素特征获取元素,其文字内容可以模糊或绝对匹配进行元素定位。 :contains(text) 获取包含给定文本的元素 :empty 获取所有不包含资源死或者文本的空元素 :has(selector) 获取含有选择器所匹配的元素的元素 :parent 获取含有子元素或者文本的元素 可见性过滤选择器:根据元素是否可见的特征获取元素 :hidden 获取所有不可见元素 或者 type为hidden的元素 :visible 获取所有的可见元素 属性过滤选择器:根据元素的某个属性获取元素 [attribute] 获取包含给定属性的元素 [attribute=value] 获取等于给定的属性是某个特定值的元素 [attribute!=value] 获取不等于给定的属性是某个特定值的元素 [attribute^=value] 获取给定的属性是以某些值开始的元素 [attribute$=value] 获取给定的属性是以某些值结尾的元素 [attribute*=value] 获取给定的属性是以包含某些值的元素 [selector1][selector2][selectorN] 获取满足多个条件的复合属性的元素 子元素过滤选择器:获取所有父元素中指定的某个元素。 :nth-child(eq|even|odd|index) 获取每个父元素下的特定位置元素,索引号从1开始 :first-child 获取每个父元素下第一个子元素 :last-child 获取每个父元素下最后一个子元素 :only-child 获取每个父元素下的仅有一个子元素 表单对象属性过滤器:通过表单中的某对象属性特征获取该元素 :enabled 获取表单中所有属性为可用的元素 :disabled 获取表单中所有属性为不可用的元素 :checked 获取表单中所有被选中的元素 :selected 获取表单中所有被选中option的元素 表单选择器 :input 获取所有input、textarea、select :text 获取所有单行文本框 :password 获取所有密码框 :radio 获取所有单选按钮 :checkbox 获取所有复选框 :submit 获取所有提交按钮 :image 获取所有图像域 :reset 获取所有重置按钮 :button 获取所有按钮 :file 获取所有文件域 5.元素属性操作 在jQuery中,可以对元素的属性执行获取、设置、删除的操作,通过attr()方法可以对元素属性执行获取和设置操纵,removeAtrt()方法则可以轻松删除某一指定的属性。 语法: attr(name) 获取属性的值 attr(key,value) 设置属性语法格 attr(key,function(index)) 通过函数返回的值作为属性的值 6.元素内容操作 在jQuery中,操作元素内容的方法包括html()和text()。前者获取或设置元素的HTML内容,后者获取或设置元素的文本内容。 语法: html() 获取元素的HTML内容 html(val) 设置元素的HTML内容 text() 获取元素的文本内容 text(val) 设置元素的文本内容 7.获取或设置元素的值 获取元素的值 语法: val() 获取某元素的值 val(val) 将参数的值赋给某元素 val().join(",") 获取select标记中的多个选项值 8.元素样式操作 元素样式操作包含:直接设置样式、增加CSS类别、类别切换、删除类别。 直接设置元素样式值: css(name,value) 增加CSS类别: addClass(class1 class2...) 可以增加多个类别的名称 类别切换: toggleClass(class) 当元素中含有名称为class的CSS类别时,删除该类别,否则增加一个该名称的CSS类别。 删除类别:removeClass([class]) 删除类别 9.创建节点元素 整个界面是一个DOM模型,页面中的个元素通过模型的节点相互关联形成树状,若要在页面中增加某个元素,只需要找到元素的上级节点,通过函数$(html)完成元素的创建后,增加到该节点中。 语法:$(html) 动态创建页面元素 html代表用于动态创建DOM元素的HTML标签 10.插入节点 在页面中动态创建元素需要执行节点的插入或追加操作。 内部插入节点方法: append(content) 向所选择的元素内部插入内容 append(function(index,html)) 向所选择的元素内部插入function函数返回追的内容 appendTo(content) 把所选择的元素追加到另一个指定的元素集合中 prepend(context) 向每个所选择的元素内容前置内容 prepend(function(index,html)) 向所选择的元素内部前置functio函数所返回的内容 prependTo(content) 将所选择的元素前置到另一个指定的元素集合中 外部插入节点方法: after(content) 向所选择元素外部后面插入内容 after(function) 向所选择元素外部后面插入function函数所返回的内容 before(content) 向所选择元素外部前面插入内容 before(function) 向所选择的元素外部前面插入function函数所返回的内容 insertAfter(content) 将所选择的元素插入另一个指定的元素外部后面 insertBefore(content) 将所选择的元素插入另一个指定的元素外部前面 11.复制节点 语法: clone() 该方法仅是复制元素本身,被复制后的锌元素不具有任何元素行为。 clone(true) 不仅复制DOM元素,而且将元素的全部行为也进行复制。 12.替换节点 语法: replaceWith(content) 将所有选择的元素替换成指定的HTML或DOM元素。 replaceAll(selector) 将所有选择的元素替换成指定selector 13.包裹节点 语法: wrap(html) 把所有选择的元素用其他字符串代码包裹起来 wrap(elem) 把所有选择的元素用其他DOM包装起来 wrap(fn) 把所有选择的元素用function函数返回的代码包裹起来 unwrap() 移除所选元素的父元素或包裹标记 wrapAll(html) 把所有选择的元素用单个元素包裹起来 wrapAll(elem) 把所有选择的元素用单个DOM元素包裹起来 wrapInner(html) 把所有选择的元素的子内容用字符串代码包裹起来 wrapInner(elem) 把所有选择的元素的子内容用DOM元素包裹起来 wrapInner(fn) 把所有选择的元素的子内容用function函数返回的代码包裹起来 14.遍历元素 语法: each(callback) callback可以是一个function函数,也可以是一个index 15.删除元素 语法: remove([expr]) 删除 empty() 清空 16.事件 事件在出发后被分为两个阶段,一个是捕获,另一个则是冒泡。(jQuery不支持捕获)冒泡其实质就是事件执行中的顺序。冒泡不仅仅是触发所指定id本身,而且它的外围元素的事件也将被触发。可以用event.stopPropagation()或return false组织冒泡过程。 17.页面载入事件 ready()方法的工作原理:在jQuery脚本加载到页面时,会设置一个isReady的标记,用于监听页面加载的进度,当遇到执行ready()方法时,通过查看isReady值是否被设置,如果未被设置,那么就说明页面并未加载完成,在此情况下,将未完成的部分用一个数组缓存起来,当全部家在完成后,再将未完成的部分通过缓存一一执行。 在jQuery中,还可以使用bind()方法进行事件的绑定,其语法格式是:bind(type,[data],fn) 可以使用bind()绑定多个事件,在type中用空格隔开就好。 在jQuery中,有两个方法用于事件的切换,一个是方法hover(),另一个是方法toggle()。所谓切换事件,即有两个以上的事件绑定于一个元素,在元素的行为动作间进行切换。hover()功能是当鼠标移动到所选的元素上面,执行第一个制定函数;当鼠标移出这个元素时,执行指定的第二个函数。hover(over,out)。toggle()方法中,可以依次调用N个指定的函数,直到最后一个函数,然后重复对这些函数轮番调用。toggle(fn,fn2,fn3,[fn4,fn5,...]) 移除事件:unbind([type],[fn]) type为移除的事件类型,fn为需要移除的事件处理函数。如果该方法没有参数,则移除所有绑定的事件。 one():为所选元素绑定一个仅触发一次的处理函数 语法:one(type,[data],fn) trigger():在所选择的元素上触发制定类型的事件。 语法:trigger(type,[data]) 可能是分配的任务太简单了,以至于我现在都没什么事情,不过这样也可以学学习,可是也不是每个小时都能静下心来,这个有点小郁闷呢...今天看了看jQuery,只是看了看,了解了大概,没有动手做例子,可能还是没有心情~~这样下去不行啊~~不过今天就到这里吧 看来没有被逼的日子效率不高呀~要努力才行~~~~ p.s:今天在公司的论坛上看到了一个帖子,一个人求认识一位女性,描述的过程是天蓝色裤子、人字拖。下面就有人评论,穿人字拖的一定是开发女。瞬间我觉得我就躺枪了。不过我确实比较喜欢穿凉拖,果然潜意识我还是女汉子.....