JQuery 是一个高效、精简并且功能丰富的第三方JavaScript 工具库,为我们封装了DOM操作,让我们操作dom节点更加方便,简化我们的操作。
功能:
HTML 元素选取
HTML 元素操作
CSS 操作
HTML 事件函数
JavaScript 特效和动画
HTML DOM 遍历和修改
AJAX
Utilities
使用:
bootcdn 找到资源 把链接引入到HTML文件里
1.直接引入网络资源
<script src = "https://code.jquery.com/jquery-1.12.4.js"></script>
2.将网络资源下载到本地使用
<head>
<script type="text/javascript" src="文件路径"></script>
</head>
通过jQuery或者 $ 去调用相应的属性和方法
console.log(jQuery);
console.log($ );
console.log(jQuery===$);//true
- $ (选择器)
通过选择器选择符合条件的Element元素,将其保存为jQuery对象
选取所有元素console.log($("*"));
具体的选择器
基本选择器
层次选择器
伪类选择器
元素选择器
属性选择器
2 .$ (html片段)
将html片段转换成Element,然后再封装为jQuery对象
3. $ (Element元素)
将Element元素转换为jQuery对象
4. $ (匿名函数)
匿名函数会在文档加载完成后执行
//匿名函数 == 文档就绪事件
$(function({
var btn=$('button');
console.log(btn);
})
防止文档没有加载完成就运行jQuery代码
//文档就绪事件(类似于原生js的window.onload)
$(document).ready(
function(){
var btn=$('button');
console.log(btn);
})
和window.onload的区别
1.书写个数不同
Js入口函数只能出现一次,出现多次会存在事件覆盖的问题。
jQuery的入口函数,可以出现任意多次,并不会存在事件覆盖问题。
2.执行时机不同
Js入口函数是在所有的文件资源加载完成后,才执行。这些文件资源包括:页面文档、外部的js文件、外部的css文件、图片等。
jQuery的入口函数,是在文档加载完成后,就执行。文档加载完成指的是:DOM树加载完成后,就可以操作DOM了,不用等到所有的外部资源都加载完成。
事件:
click,dblclick,mouseenter,mouseleave,hover,
keypress,keydown,keyup
submit,focus,load,resize…
举例:1.click
$("div").click(
function(){
$(this).hide();//点击隐藏
});
2.hover
hover两个参数,第一个是光标移入的回调函数,第二个是光标移出的回调函数,
hover == mouseenter+mouseleave
3.焦点事件 focus,blur
$("input").focus(
function(){
/* $(this).hide(); */
$(this).css("background-color","blue");
})
- 键盘事件
$(document).keydown(
function(event){
console.log(event.keyCode)
if( event.keyCode==13){
$("input").hide();
}
})
效果:
1.去显示或者隐藏html元素
hide()
参数:两个可选
1.速度 数字类型的 毫秒 string类型(fast/slow)
2.回调函数function 隐藏完成后会执行
show()
参数:两个可选
1.速度 数字类型的 毫秒 string类型(fast/slow)
2.回调函数function 隐藏完成后会执行
toggle()
参数:两个可选
1.速度 数字类型的 毫秒 string类型(fast/slow)
2.隐藏完成后会执行
2.淡入淡出效果
fadeToggle()
参数:两个可选
1.速度 数字类型的 毫秒 string类型(fast/slow)
2.隐藏完成后会执行
fadeOut()
参数:两个可选
1.速度 数字类型的 毫秒 string类型(fast/slow)
2.隐藏完成后会执行
fadeIn()
参数:两个可选
1.速度 数字类型的 毫秒 string类型(fast/slow)
2.隐藏完成后会执行
3.滑动效果
slideUp()
参数:两个可选
1.速度 数字类型的 毫秒 string类型(fast/slow)
2.隐藏完成后会执行
slideDown()
参数:两个可选
1.速度 数字类型的 毫秒 string类型(fast/slow)
2.隐藏完成后会执行
slideToggle()
参数:两个可选
1.速度 数字类型的 毫秒 string类型(fast/slow)
2.隐藏完成后会执行
4.链式调用
$("#div").css("color",orange).slideUp(2000).slideDown(200).fadeOut(200).fadeIn(200);
操作DOM节点
1.获取节点
$(选择器)
2.获取内容、属性
.text();
.html();
.val();//返回表单字段
.attr();//获取属性
3.设置内容、属性
1.直接写要设置的内容、属性
.text(…);
.html(…);
.val(…);//返回表单字段
.attr(…);//可以设置一个或多个属性
//设置一个属性
$(“a”).arrt(“href”,“http://taobao.com”);
//设置多个属性
$(“a”).arrt({
“href”,“http://taobao.com”,
“title”:“url”,
});
2.可以设置回调函数
$("#app").text(function(i,text){
console.log(i);
console.log(text);
});
回调函数的参数
被选中元素列表中 当前元素的下标
text是旧文本
return 新内容 (函数的返回值 会作为元素内显示的新内容)
4.添加元素
append
1.在当前元素内部操作
$("#app").append("追加文本");
$("#app").prepend("在开头添加文本");
2.追加新元素
var p1= " <p> p1</p> ";
var p2= " <p> p2</p> ";
$("#app").append(p1,p2);
$("#app").prepend(p1,p2);
3.在当前元素外部操作
$("#app").after("追加文本");
$("#app").before("在开头添加文本");
5.删除元素
remove
$("#app").remove(); //删除选中的元素以及子元素
$("#app").empty(); //删除被选中元素的子元素
6.静态方法
遍历
each 、 map 、 toArray
$("div").each(function(){
console.log($(this));
});
7.css
$("#app").css({
"color":"blue",
"font-size":"16px",
})
DOM对象和JQuery对象
jQuery选择器拿到DOM对象后又对其做了封装,让其具有了jQuery方法的jQuery对象,说白了,就是把DOM对象重新包装了一下。
$(“div”):这个方法返回的是jQuery对象,它封装了DOM对象
jQuery对象转换为DOM对象
第一种方式
var btn1 = $btn[0];
第二种方式
var btn2 = $ btn.get(0);// 此时就把jQuery对象$btn转换成了DOM对象btn2
DOM对象转换为jQuery
使用$(domObject)包裹就可以包装成一个jQuery对象
jQuery选择器
jQuery选择器是jQuery强大的体现,它提供了一组方法,让我们更加方便的获取到页面中的元素。语法和css的选择符保持一致。