JQuery-01基础
JQuery的入门基础篇
JQuery
JQuery 是javascript的框架,简化js的开发
快速入门
- 下载JQuery
1
2
3
4JQuery版本
1.x 兼容IE678,使用最为广泛
2.x 不兼容IE678
3.x 不兼容IE678但支持最新的浏览器 - 导入JQuery.js文件
- 使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Jquery快速入门</title>
<script src="jquery-3.3.1.min.js"></script>
<!--导入JQuery包-->
</head>
<body>
<div id="div1">div1</div>
<div id="div2">div2</div>
<script>
var $div = $("div");
alert($div);
</script>
</body>
</html>
使用
获取ID对象
1
2
3
4
5
6
7
8
9//Js源码
var oDiv1 = document.getElementById("div1");
alert(oDiv1.innerHTML);
//js源码使用innerHtml属性来获取
//使用JQuery获取元素对象
var div1 = $("#div1");
alert(div1.html());
//JQ使用html()这个方法来获取获取标签对象
1
2
3
4
5
6
7
8
9
10
11
12//Js源码
var aDiv = document.getElementsByTagName("div");
alert(aDiv);
for (var i=0;i<aDiv.length;i++){
aDiv[i].innerHTML = "666";
}
//使用JQuery获取元素对象
var $div = $("div");
alert($div);
$div.html("777");
//jq中不需要遍历就直接使用js对象与jq对象的转换
1
2
3
4
5
6
7
8
9//Js源码
var aDiv = document.getElementsByTagName("div");
var $div = $("div");
//jq与js对象之间的转换
//1. jq转js--使用方括号加索引[索引],或者使用get()方法
var div1 = $div.get(0);
var div2 = $div[0];
//2. js转jq--使用 $() 包裹js对象
var $1 = $(aDiv[0]);选择器
- 基本语法
- 事件绑定
1
2
3
4
5
6
7
8
9
10
11
12
13//js源码
var oB1 = document.getElementById("b1");
var oDiv1 = document.getElementById("div1");
oB1.onclick=function () {
oDiv1.innerText="点击事件绑定";
}
//jq实现
var $b1 = $("#b1");
var $div = $("div");
$b1.click(function () {
$div.get(0).innerHTML="点击事件绑定";
}) - 入口函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14//js源码入口函数,防止DOM未被载入完成而出错
window.onload =function () {
alert(1);
}
//jq入口函数
$(function () {
alert(1);
})
/*
window.onload与$(function)的区别
- 前者只能使用一次,
- 但是后者可以使用多次
*/ - 样式控制
1
2
3
4
5
6
7
8
9
10//js
window.onload =function () {
var oDiv1 = document.getElementById("div1");
oDiv1.style.background ="red";
}
//jq
$(function () {
var $div2 = $("#div2");
$div2.css("background","blue");
})
- 事件绑定
- 选择器的使用
- 基本选择器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25//1. 元素选择器(见上文)
//2. id选择器(见上文)
//3. class选择器
//js
window.onload =function () {
var div1 = document.getElementsByClassName("div1")[0];
alert(div1);
}
//jq
$(function () {
var $div1 = $(".div1");
alert($div1);
})
//4. 兄弟选择器
//js
window.onload = function () {
var oDiv1 = document.querySelector(".div1");
oDiv1.nextElementSibling.style.background = "red";
}
//jq
$(function () {
var $div1 = $(".div1,.div2");
$div1.css("background","blue");
}) - 层级选择器
1
2
3
4//选择直接的后代,不会选择后代的后代
var $div1 = $(".div1>.div3");
//选择所有的后代,会选择后代的后代
var $div1 = $(".div1 .div3"); - 属性选择器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15//1. 属性名称选择器
$("div[name]").css("background","lightblue");
//2. 属性选择器
$("div[name='third']").css("background","green");
//3. 复合属性选择器
//name不为third
$("div[name!='third']").css("background","blue")
//name以d结尾
$("div[name$='d']").css("background","red")
//name以th开头
$("div[name^='th']").css("background","orange")
//name含有d
$("div[name*='d']").css("background","yellow")
//选取有属性id且name含有e的
$("div[id][name*='e']").css("background","purple") - 过滤选择器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18//选择第一个元素
$("div:first").css("background","red");
//选择最后一个元素
$("div:last").css("background","orange");
//选择class不为div1的所有div元素
$("div:not(.div1)").css("background","green");
//选择索引为偶数的元素,从0开始计数
$("div:even").css("background","blue");
//选择索引为奇数的元素
$("div:odd").css("background","pink");
//选择索引大于3的元素,great than
$("div:gt(3)").css("background","grey");
//选择索引小于3的元素,less than
$("div:lt(3)").css("background","black");
//选择索引等于3的元素,equals
$("div:eq(3)").css("background","white");
//选择标题元素,header
$(":header").css("background","green"); - 表单过滤选择器
1
2
3
4
5
6
7
8//jQuery对象val()方法改变表单内可用input值,enabled表示可使用
$("input[type='text']:enabled").val("改变值");
//改变不可用元素
$("input[type='text']:disabled").val("改变值");
//复选框:checked 获取复选框选中的个数
$("input[type='checkbox']:checked").length;
//获取下拉框option选中的个数
$("select>option:checked").length;
- 基本选择器
- DOM操作
- 内容操作
- html():获取/设置元素的标签体内容
- text():获取/设置元素的标签体纯文本内容
- val():获取/设置元素的value属性值
1
<a href=""><span>你好</span></a>
1
2
3$("a").html();//<span>你好</span>
$("a").text();//你好
$("input").val("你好");//所有input的value全为“你好”
- 属性操作
- 通用属性操作
- attr()//获取/设置元素的属性
- removeAttr()//删除属性
- prop()//获取/设置元素的属性
- removeProp()//删除属性
1
2
3
4
5
6
7
8//操作固有属性使用prop,操作自定义属性使用attr
//获取
console.log($("#bj").attr("name"));
//设置
$("#bj").attr("name","更改值");
$("#bj").attr("new","新增值");
//删除属性
$("#bj").removeAttr("name");
- 对class属性操作
- addClass():添加class属性值
- removeClass():移除class属性值
- toggleClass():切换class属性值,有就删除,没有就添加
1
2
3$("#bj").addClass("first");
$("#bj").removeClass("first");
$("#tj").toggleClass("first");
- CRUD操作
obj1.append(obj2)
:将obj2添加到obj1的内部,并且在末尾obj1.prepend(obj2)
将obj2添加到obj1的内部,并且在开头obj1.appendTo(obj2)
将obj1添加到obj2的内部obj1.pretendTo(obj2)
将obj1添加到obj2的内部obj1.after(对象2)
将obj2添加到obj1的后面,兄弟关系obj1.before(obj2)
将obj2添加到obj1的前面,兄弟关系obj1.insertAfter(obj2)
将obj2添加到obj1的前面,兄弟关系obj1.insertBefore(obj2)
将obj2添加到obj1的前面,兄弟关系obj.remove()
删除对象,自己删除自己
10obj.empty()
清空元素所有的后代元素,但保留当前对象以及当前节点