1. jQuery的概念
jQuery是一个快速、简洁的JavaScript库,其设计的宗旨是"write Less , Do More”, 倡导写更少的代码,
做更多的事情。
jQuery封装了JavaScript常用的功能代码,优化了DOM操作、事件处理、动画设计和Ajax交互。
学习jQuery本质:就是学习调用这些函数(方法)。
jQuery出现的目的是加快前端人员的开发速度,我们可以非常方便的调用和使用它,从而提高开发效率。
2.JQuery的环境配置
1)去下载jquery库文件:(官网:http://www.jquery.com)
通常有两个版本:
未压缩版本:–用在开发和调试。
压缩版本:–产品发布的时候使用,可以提高性能和减少带宽
2).从 CDN 中载入 jQuery, 如从 Google 中加载 jQuery
3.jQuery入口函数与js入口函数区别
jQuery 的入口函数是在 html 所有标签(DOM)都加载之后,就会去执行。可以执行多次,第N次都不会被上一次覆盖,可以简写为$(function(){ });
JavaScript 的 window.onload 事件是等到所有内容,包括外部图片之类的文件加载完后,才会执行。只能执行一次,如果第二次,那么第一次的执行会被覆盖
jQuery入口函数的三种写法**(推荐使用第三种):
//'第一种入口函数
$(document).ready(function(){
alert('第一种入口函数')
})
//'第二种入口函数
jQuery(document).ready(function(){
alert('第二种入口函数')
})
//第三种入口函数
$(function(){
alert('第三种入口函数')
})
js的入口函数:
window.onload = function () {
alert('js入口函数')
}
4.选择器
1)基本选择器:
1、#id用法: $(”#myDiv”); 返回值 单个元素的组成的集合
2、Element用法: $(”div”) 返回值 集合元素
3、class 用法: $(”.myClass”) 返回值 集合元素
4、用法: $(””) 返回值 集合元素
5、selector1, selector2, selectorN 用法: $(”div,span,p.myClass”) 返回值 集合元素
2)层次选择器:
1 、ancestor descendant
用法: $(”form input”) ; 返回值 集合元素
2、parent > child 用法: $(”form > input”) ; 返回值 集合元素
3、prev + next用法: $(”label + input”) ; 返回值 集合元素
4、prev ~ siblings用法: $(”form ~ input”) ; 返回值 集合元素
3)过滤选择器:
过滤选择器主要是通过特定的过滤规则来筛选出所需的 DOM 元素, 该选择器都以 “:” 开头
按照不同的过滤规则, 过滤选择器可以分为基本过滤, 内容过滤, 可见性过滤, 属性过滤, 子元素过滤和表单对象属性过滤选择器.
4)基础过滤选择器:
1、:first
用法: $(”tr:first”) ; 返回值 单个元素的组成的集合
2、:last
用法: $(”tr:last”) 返回值 集合元素
3、:not(selector)
用法: $(”input:not(:checked)”)返回值 集合元素
4、:even
用法: $(”tr:even”) 返回值 集合元素
5、: odd
用法: $(”tr:odd”) 返回值 集合元素
6、:eq(index) 用法: $(”tr:eq(0)”) 返回值 集合元素
7、:gt(index) 用法: $(”tr:gt(0)”) 返回值 集合元素
8、:lt(index) 用法: $(”tr:lt(2)”) 返回值 集合元素
9、:header(固定写法) 用法: $(”:header”).css(”background”, “#EEE”) 返回值 集合元素
10、:animated(固定写法) 返回值 集合元素
5)内容过滤选择器:
1、:contains(text) 用法: $(”div:contains(’John’)”) 返回值 集合元素.
2、:empty 用法: $(”td:empty”) 返回值 集合元素
3、:has(selector) 用法: $(”div:has§”).addClass(”test”) 返回值 集合元素
4、:parent 用法: $(”td:parent”) 返回值 集合元素
6)可见度过滤选择器:
1、:hidden 用法: $(”tr:hidden”) 返回值 集合元素
2、:visible 用法: $(”tr:visible”) 返回值 集合元素
7)属性过滤选择器:
1、[attribute] 用法: $(”div[id]“) ; 返回值 集合元素
2、[attribute=value] 用法: $(”input[name=‘newsletter’]“).attr(”checked”, true); 返回值 集合元素
3、[attribute!=value] 用法: $(”input[name!=‘newsletter’]“).attr(”checked”, true); 返回值 集合元素
4、[attribute^=value] 用法: ( ” i n p u t [ n a m e = ‘ n e w s ’ ] “ ) 返 回 值 集 合 元 素 5 、 [ a t t r i b u t e (”input[name^=‘news’]“) 返回值 集合元素 5、[attribute (”input[name=‘news’]“)返回值集合元素5、[attribute=value] 用法: ( ” i n p u t [ n a m e (”input[name (”input[name=‘letter’]“) 返回值 集合元素
6、[attribute*=value] 用法: $(”input[name*=‘man’]“) 返回值 集合元素
7、[attributeFilter1][attributeFilter2][attributeFilterN] 用法: ( ” i n p u t [ i d ] [ n a m e (”input[id][name (”input[id][name=‘man’]“) 返回值 集合元素
8)子元素过滤选择器:
1、:nth-child(index/even/odd/equation) 用法: $(”ul li:nth-child(2)”) 返回值 集合元素
2、:first-child 用法: $(”ul li:first-child”) 返回值 集合元素
3、:last-child 用法: $(”ul li:last-child”) 返回值 集合元素
4、: only-child 用法: $(”ul li:only-child”) 返回值 集合元素
9)表单对象属性过滤选择器:
1、:enabled 用法: $(”input:enabled”) 返回值 集合元素
2、:disabled 用法: $(”input:disabled”) 返回值 集合元素.
3、:checked 用法: $(”input:checked”) 返回值 集合元素
4、:selected 用法: $(”select option:selected”) 返回值 集合元素
10)表单选择器:
1、:input 用法: $(”:input”) ; 返回值 集合元素
2、:text 用法: $(”:text”) ; 返回值 集合元素
3、:password 用法: $(”:password”) ; 返回值 集合元素
4、:radio 用法: $(”:radio”) ; 返回值 集合元素
5、:checkbox 用法: $(”:checkbox”) ; 返回值 集合元素
6、:submit 用法: $(”:submit”) ; 返回值 集合元素
7、:image 用法: $(”:image”) 返回值 集合元素
8、:reset 用法: $(”:reset”) ; 返回值 集合元素
9、:button 用法: $(”:button”) ; 返回值 集合元素
10、:file 用法: $(”:file”) ; 返回值 集合元素
11、:hidden 用法: $(”input:hidden”) ; 返回值 集合元素
11)混淆选择器
1、 . e s c a p e S e l e c t o r ( s e l e c t o r ) 用 法 : .escapeSelector(selector) 用法: .escapeSelector(selector)用法:.escapeSelector() 获取 类选择器或者ID选择器中包含一些CSS特殊字符 (如# .)的元素
注意: 3.0以后才支持,使用的时候注意jquery的版本
5.jquery样式操作
1、操作行间样式
格式1:DOM元素.css(‘样式名’,‘值’)
格式2:DOM元素.css({‘样式名1’:‘值1’,‘样式名2’:‘值2’})
//单个样式设置
$('div').css('width','200px');
$('div').css('height','200px');
$('div').css('border','2px solid');
//链式设置样式
$('div').css('width','200px').css('height','200px').css('border','2px solid')
//一次性设置样式
$('div').css({
'width':'200px',
'height':'300px',
'border':'2px solid',
});
//获取指定样式的值
var width = $('div').css('width');
var height = $('div').css('height ');
特别注意 :选择器获取的多个元素,获取信息获取的是第一个,比如:$(“div”).css(“width”),获取的是第一个div的width。
2、操作样式类名
1)$("#div1").addClass(“divClass2”) //为id为div1的对象追加样式divClass2
//添加一个类
$("div").addClass("divClass1");
//追加一个类
$("div").addClass(" divClass2");
//一次添加多个类
$("div").addClass("divClass1 divClass2");
2)$("#div1").removeClass(“divClass”) //移除id为div1的对象的class名为divClass的样式
//移除一个类
$("div").removeClass("divClass1");
//再移除一个类
$("div").removeClass(" divClass2");
//一次移除多个类
$("div").removeClass("divClass1 divClass2");
3)$("#div1").toggleClass(“anotherClass”) //重复切换anotherClass样式
// 切换一个类
$("div").toggleClass("divClass1 ");
// 切换多个类
$("div").toggleClass("divClass1 divClass2 ");