选择元素:
1、$()函数:用于创建jQuery对象,接收CSS选择符作为参数,之后再对匹配的元素集合应用到jQuery方法中。
2、$(document).ready() 指的是位于其中的所有代码都会在DOM加载后立即运行。
3、$('#id-name>li').addClass('class-name'); 子元素组合符(>) 语义:查找id-name的元素的子元素中所有(li);
4、$('id-name li:not(.class-name)').addClass('.class-name1'); 这其中li为id-name的元素的后台元素没有class-name
类,却有class-name1类。addClass为标签添加类的函数
5、属性选择符:$('img[alt]') --------要选择带有alt属性的所有图像元素
$('a[href$=".pdf"]').addClass();-------为所有指向PDF文件的链接添加类
$('a[href^="http"][href*="henry"]').addClass()------为href属性即以http开头且任意位置包含henry 的字符所有链接添加一个类
6、自定义选择符:
每隔一行为表格添加样式:$('tr:even').addClass() 语义:对奇数行使用:even 因为编号是从0开始。
这些选择符以冒号(:)开头 有 :eq()选择符、:odd和:even
基于上下文内容选择元素:$('td:contains(A)').addClass(); 为所有表格单元中包含字符A的添加类
基于表单的选择符:主要有: :input、:button、:enabled、:disabled、:checked、:selected
例:$('input[type="radio"]:checked')
7、DOM遍历方法:
刷选函数:.filter()方法会迭代所有匹配的元素,对每个元素都调用传入的函数并测试函数的返回值。如果 返回值是false,则从匹配集合中删除相应的元素;如果返回true,则保留相应元素。
为特定单元格添加样式:.next()方法:只选择下一个最接近的同辈元素。.nextAll():下面全部的同辈元素
.prev()和.prevAll();.siblings()能够选择处于相同DOM层次的所有其他元素。
.addBack()、.parent()、.children();
连缀:$('td:comtains(Henry)') //取得包含Henry的所有单元格
.parent() //取得它的父元素
.find('td:eq(1)') //在父元素中查找第2个单元格
.addClass() //为该单元格添加类
.end(); //恢复到包含Henry的单元格的父元素
8、访问DOM元素: 例:根据id名取标签名 var myTag=$('#id-name')[0].tagname; 其中[0]=.get(0)
事件:
基于一个页面执行多个脚本: <body οnlοad="function-name()">、也可widow.οnlοad=function-name
如果带有圆括号,函数会被立即调用; 没有圆括号,函数名就只是函数的 标识符或函数引用,用于在将来在调用函数。
简单事件处理:在用户单击按钮时起用 $('id-nmae').on('click',function(){ $('body').addClass()});
.on()方法传入的第二个参数是一个选择符表达式,jQuery会吧click事件处理程序绑定到 #id-name对象,同时比较event.target和选择符表达式。
利用事件处理程序的上下文:this引用的都是携带相应行为的DOM元素。$(this);
toggleClass()根据相应的类是否存在而添加或删除类;
.hover()方法接收两个函数参数,第一个函数会在鼠标指针进入被选择的元 素时执行,第二个函数会在鼠标指针离开该元素时触发。
事件目标:$('id-name').click(function(event){ if('event.target==this){}}); event保存着事件对象, event.target属性保存着发生事件的目标元素。
停止事件传播:有方法.stopPropagation(); 此方法可以完全阻止事件冒泡
默认操作: .preventDefault() 此方法可以在触发默认操作之前终止事件。
移除事件处理程序: .off()方法移除折叠处理程序 例: $('id-name').off('click')
响应键盘事件: 事件对象的 .which属性包含着被按下的那个键的标识符
样式和动画:
修改内联CSS: .css()方法集getter(获取方法)和setter(设置方法)于一身。能够接受的参数有两种
一种是为它传递一个单独的样式属性和值 例 .css('property','value');
一种是为它传递由属性-值对构成的对象 例 .css({ property1:value1, property2:value2})
var $class-name=$('div.class-name');
var num=parseFloat($class-name.css(fontSize)); parseFloat()函数只取字体大小属性中的数值部分。
隐藏和显示元素: .hide()会把匹配的元素集合的内联style属性设置为display:none。但它可以记住原先 的display值。加上数字参数表示隐藏的速度,加上slow则需要用单引号。
.show()会将匹配的元素集合的display属性恢复为应用display:none之前的可见属性。
淡入淡出: .fadeIn('slow')逐渐增加透明度, fadeOut()减少透明度。
Ajax :一种无需刷新页面即可从服务器上加载数据的手段
1、 $('#id-name').load('name.html'); .load()用于把文件加载到标签为id中的标签内部。
2、 取得JSON ,用JSON来表示JavaScript中由键-值对组成的对象。用$.getJSON('name.json');
例:[{ "property-name1":"value1","property-name2":"value2",.......},{},........]
3、用$getScript('name.js'); 以这种方式取得的脚本会在当前页面的全局环境下执行。可有权访问全局 环境下定义的函数和变量。
4、$get('name.xml',function(data){}); 这个函数只是取得由URL指定的文件,然后将纯文本格式的数 据提供给回调函数。
使用插件:
1、下载并包含插件,在引入jQuery主文件的代码后引入插件。
2、$('#id').插件中包含的方法,可为此方法指定参数,修改参数的默认值。
3、jQuery UI 插件库中.animate()可以接受像borderTopColor、backgroundColor、和color.
$books.find('.title').animate({ backgroundColor:"#eee",,,}) 且基于三个基本的操作css类的
方法:addClass()、removeClass()和toggleClass()都可接受多个可选参数。
例:$(this).toggleClass('higlighted','slow','easeInExpo'); 第三个参数作为缓动样式。
交互式组件:通过调用.resizable()可以把区域变成可调整大小的元素。
例: $books.find('.title').reasizable({handles:'s'}); 表示在底部(s代south)加一手柄用于调整。
4、<meta name="viewport" content="width=device-width,initial-scale=1"> 这个声明是告诉浏览器将 其页面内容缩放到恰好填满设备的宽度。
5、在使用jQuery Mobile插件时,需要使用data-role属性来提供信息用于此插件理解页面结构
<div data-role="page"> <div data-role="header"> <h1></h1></div><div data-role="content">
6、<data-role="listview" data-inset="true" data-filter="true">告诉jQuery Mobile把列表中的链接换成 合适手指触摸的大按钮。第二个用于给列表添加一个漂亮的边框,第三个添加筛选搜索框。