1、核心:$是jquery类的一个别名,$()构造一个jquery对象,jQuery 的核心功能都是经过这个函数实现的。 jQuery中的一切都基于这个函数,或者说都是在以某种方式使用这个函数。css
1、 ${表达式}:根据这个表达式来查找全部匹配的元素。html
eg:$("div>p"); 查找全部p元素,且这些p元素都是div的子元素.jquery
$("input:radio",document.forms[0]); 查找文档第一个表单中,全部的单选按钮。ajax
$("div",xml.responseXML);在一个由ajax返回的xml文档中,查找全部的div元素。app
2、$(html标记字符串) :根据提供的html字符串,建立jquery对象包装的dom元素。dom
eg: $("<div><p>Hello</p></div>").appendTo("body");ide
建立一个 <input> 元素必须同时设定 type 属性函数
$("<input type='text'>")this
3、$(dom元素):将一个或多个dom元素转换为jquery对象。spa
eg: $(document.body).css( "background", "black" ); 设置页面背景色
4、$(document).ready(function(){})==$(function(){});在页面加载完成后自动执行的代码。
2、jquery对象访问。eq返回的是jquery对象,只能使用jquery方法,get返回的是dom元素对象,只能使用dom方法.
1、$(dom元素).each(function(){}):以每个匹配的元素做为上下文来执行一个函数
2、$(dom元素).size()==$(dom元素).length;对象中元素的个数。eg:<img src="test1.jpg"/> <img src="test2.jpg"/>,jquery代码:$("img").size(); 返回2
3、context:返回传给jQuery()的原始的DOM节点内容,即jQuery()的第二个参数。若是没有指定,那么context指向当前的文档(document)。
4、$(dom元素).get():取得全部匹配的dom元素的集合。若是你想要直接操做 DOM 对象而不是jQuery 对象,这个函数很是有用。
5、$(dom元素).get(index):取得其中一个匹配的元素.
6、$(dom元素).index():搜索与参数表示的对象匹配的元素,并返回相应元素的索引值。
3、插件机制:
1、jQuery.fn.extend(object);扩展 jQuery 元素集来提供新的方法,针对某一个dom元素。
eg:jQuery.fn.extend({
check: function() { return this.each(function() { this.checked = true; });},
uncheck: function() { return this.each(function() { this.checked = false; });}
});
调用:
$("input[type=checkbox]").check();
$("input[type=radio]").uncheck();
2、$.extend(object);用来在jQuery命名空间上增长新函数,针对全部dom元素。
$.extend({
min:function(a,b){return a<b?a:b;},
max:function(a,b){return a>b?a;b;}
});
调用:$.max(10,20);
4、选择器
基本:
1、$("#id"): 根据给定的ID匹配一个元素。
2、$("dom元素名"):根据给定的元素名匹配全部元素
3、$(".Class类名"): 根据给定的类匹配元素。
4、$("*") :匹配全部元素。
5、$("dom元素.class类名"):选择全部class属性为指定类名的dom元素。
6、$(".stripe tr"): 获取class属性为stripe的table元素下的全部行
层级:
1、$("ancestor descendant"):在给定的祖先元素下匹配全部的后代元素
2、$("parent > child"):在给定的父元素下匹配全部的子元素
3、$("prev + next"):匹配全部紧接在 prev 元素后的 next 元素
4、$("prev ~ siblings"):匹配 prev 元素以后的全部 siblings(同级) 元素
简单:
1、$("tr:first") 匹配找到的第一个元素
2、$("tr:last") 匹配找到的最后一个元素
3、$("input:not(:checked)") 去除全部与给定选择器匹配的元素
4、$("tr:even") 匹配全部索引值为偶数的元素,从 0 开始计数
5、$("tr:odd") 匹配全部索引值为奇数的元素,从 0 开始计数
6、$("tr:eq(1)") 匹配一个给定索引值的元素
7、$("tr:gt(0)") 匹配全部大于给定索引值的元素
8、$("tr:lt(2)") 匹配全部小于给定索引值的元素
内容:
1、$("div:contains('John')") 匹配包含给定文本的元素
2、$("div:has(p)") 匹配全部包含 p 元素的 div 元素
3、$("td:empty") 查找全部不包含子元素或者文本的空元素
可见性:
1、$("tr:visible") 查找全部可见的 tr 元素
2、$("tr:hidden") 匹配全部的不可见元素,input 元素的 type 属性为 "hidden" 的话也会被匹配到
属性:
1、$("div[id]") 查找全部含有 id 属性的 div 元素
2、$("input[name='newsletter']") 查找全部 name 属性是 newsletter 的 input 元素
3、$("input[name!='newsletter']") 查找全部 name 属性不是 newsletter 的 input 元素
4、$("input[name^='news']") 查找全部 name 以 'news' 开始的 input 元素
5、$("input[name$='letter']") 查找全部 name 以 'letter' 结尾的 input 元素
6、$("input[name*='man']") 查找全部 name 包含 'man' 的 input 元素
7、$("input[id][name$='man']") 找到全部含有 id 属性,而且它的 name 属性是以 man 结尾的
子元素:
1、nth-child(even)/:nth-child(odd)/:nth-child(3n)/:nth-child(2)/:nth-child(3n+1)/:nth-child(3n+2) 匹配其父元素下的第N个子或奇偶元素
2、$("ul li:first-child") 在每一个 ul 中查找第一个 li
3、$("ul li:last-child") 在每一个 ul 中查找最后一个 li
4、$("ul li:only-child") 在 ul 中查找是惟一子元素的 li
表单:
1、$(":input") 查找全部的input元素
2、$("text") 匹配全部的单行文本框
3、$(":password") 匹配全部密码框
4、$("radio") 匹配全部单选按钮
5、$("checkbox") 匹配全部复选框
6、$("submit") 匹配全部提交按钮
7、$("p_w_picpath") 匹配全部图像域
8、$("button") 匹配全部按钮
9、$("file") 匹配全部文件域
10、$("hidden") 匹配全部不可见元素,或者type为hidden的元素
表单对象属性:
1、$("input:checked") 匹配全部选中的被选中元素(复选框、单选框等,不包括select中的option)
2、$("input:enabled") 匹配全部可用元素
3、$("input:disabled") 匹配全部不可用元素
4、$("select option:selected") 匹配全部选中的option元素
5、属性操做
操做属性:
1、$("img").attr("src"); 返回文档中第一个图像的src属性值。
2、$("img").attr("src","test.jpg"); 为全部匹配的元素设置一个属性值
3、$("img").attr("title", function() { return this.src }); 为全部匹配的元素设置一个计算的属性值
4、$("img").removeAttr("src"); 从每个匹配的元素中删除一个属性
5、$("img").attr({ src: "test.jpg", alt: "Test Image" }); 将一个“名/值”形式的对象设置为全部匹配元素的属性。
操做CSS:
1、$("p").addClass("selected"); 为每一个匹配的元素添加指定的类名
2、$("p").removeClass("selected"); 从全部匹配的元素中删除所有或者指定的类。一个或多个要删除的CSS类名,请用空格分开
$("p").removeClass();删除匹配元素的全部类
3、$("p").toggleClass("selected"); 若是存在(不存在)就删除(添加)一个类
4、 var count = 0;
$("p").click(function(){
$(this).toggleClass("highlight", count++ % 3 == 0);
}); 每点击三下加上一次 'selected' 类
HTML代码:
1、$("div").html(); 取得第一个匹配元素的html内容
2、$("div").html("<p>Hello Again</p>"); 设置每个匹配元素的html内容
文本:
1、$("p").text(); 取得全部匹配元素的内容
2、$("p").text("<b>Some</b> new text."); 设置全部匹配元素的文本内容
值:
1、 $("#single").val() 得到第一个匹配元素的当前值。
2、$("input").val("hello world!"); 设置每个匹配元素的值
6、筛选
过滤:
1、$("p").eq(1) 获取第N个元素,这个元素的位置是从0算起
2、 if ( $(this).hasClass("protected") ) 检查当前的元素是否含有某个特定的类,若是有,则返回true。
3、$("p").filter(".selected") 筛选出与指定表达式匹配的元素集合
4、is(expr) 用一个表达式来检查当前选择的元素集合,若是其中至少有一个元素符合这个给定的表达式就返回true。
5、$("p").not( $("#selected")[0] ) 删除与指定表达式匹配的元素
查找:
1、$("div").children();取得一个包含匹配的元素集合中每个元素的全部子元素的元素集合。
2、$("p").find("span");搜索全部与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。
3、$("p").next();取得一个包含匹配的元素集合中每个元素紧邻的后面同辈元素的元素集合
4、$("p").prev();取得一个包含匹配的元素集合中每个元素紧邻的前一个同辈元素的元素集合。
5、$("div").parent;取得一个包含着全部匹配元素的惟一父元素的元素集合。
6、$("span").parents;找到每一个span元素的全部祖先元素
7、$("div").siblings();取得一个包含匹配的元素集合中每个元素的全部惟一同辈元素的元素集合
7、文档处理
内部插入:
1、$("p").append("<b>Hello</b>"); 向每一个匹配的元素内部尾部追加内容
2、$("p").prepend("<b>Hello</b>"); 向每一个匹配的元素内部前部追加内容
3、$("p").appendTo("#foo"); 把全部段落追加到ID值为foo的元素中。
外部插入:
1、$("p").after("<b>Hello</b>"); 在每一个匹配的元素以后插入内容
2、$("p").before("<b>Hello</b>"); 在每一个匹配的元素以前插入内容
包裹
1、$("p").wrap("<div class='wrap'></div>"); 把全部匹配的元素用其余元素的结构化标记包裹起来。
替换:
1、$("p").replaceWith("<b>Paragraph. </b>"); 将全部匹配的元素替换成指定的HTML或DOM元素。
删除:
1、$("p").empty(); 删除匹配的元素集合中全部的子节点。
2、$("p").remove(); 从DOM中删除全部匹配的元素
8、CSS操做
CSS:
1、$("p").css("color"); 取得第一个段落的color样式属性的值
2、$("p").css({ color: "#ff0011", background: "blue" }); 把一个“名/值对”对象设置为全部匹配元素的样式属性。
3、$("p").css("color","red"); 在全部匹配的元素中,设置一个样式属性的值
位置:
1、var offset = p.offset();获取匹配元素在当前视口的相对偏移,返回的对象包含两个×××属性:top 和 left。此方法只对可见元素有效。
2、var position = p.position();获取匹配元素相对父元素的偏移
尺寸:
1、$("p").height(); 取得第一个匹配元素当前计算的高度值(px)。
2、$("p").height(20); 为每一个匹配的元素设置CSS高度(hidth)属性的值
3、$("p").width(); 取得第一个匹配元素当前计算的宽度值(px)。$(window).width(); 获取当前窗口的宽
4、$("p").width(20); 为每一个匹配的元素设置CSS宽度(width)属性的值