20211010
jQuery
选择器
基本选择器
层级选择器
基本过滤选择器
内容
可见性
属性
表单选择器
筛选的jQuery方法
属性操作
HTML代码/文本/值
html([val|fn]) a.html()取出a的html值 a.html(val) 让a的html值变为val
text([val|fn]) a.text()取出a的text值 a.text(val) 让a的文本值变为val
val([val|fn|arr]) a.val() 取出a的val值(input) a.val(v) 设置a的value值为v
属性
attr(name|pro|key,val|fn)
1、a.attr(‘name’)取出a的name值 2、a.attr(“name”,“username”)把a的name值设置为username
removeAttr(name)
a.removeAttr(‘class’) 移除a的class属性
prop(name|pro|key,val|fn)1.6+
1、a.prop(‘id’) 取出a的id值 2、a.prop(‘id’,“bj”) 设置a的id值为bj
removeProp(name)1.6+
a.removeProp(‘class’) 移除a的class属性
只推荐操作checked readonly selected disabled
jQuery DOM的操作
文档处理
内部插入
appendTo(content) a.appendTo(b); 把a加到b里面 添加到最后面
prependTo(content) a.prependTo(b); 把a添加到b里面 添加到最前面
外部插入
insertAfter(content) a.insertAfter(b); 把a插入到b的后面
insertBefore(content) a.insertBefore(b); 把a插入到b的前面
替换
replaceWith(content|fn) a.replaceWith(b) 把a用b替换
replaceAll(selector) a.replaceAll(b) 用a替换所有的b
删除
empty() a.empty() 把a掏空,把a里面的所有元素都删除
remove([expr]) a.remove(b) 所有的a,是b的话就会删除 a.remove()删除a
jQuery事件
事件绑定
//*1.通常绑定事件的方式
//给元素绑定事件
//jquery对象.事件方法(回调函数(){ 触发事件执行的代码 }).事件方法(回调函数(){ 触发事件执行的代码 }).事件方法(回调函数(){ 触发事件执行的代码 })
//绑定事件可以链式操作
$(".head").click(function() {
$(".content").toggle();
}).mouseover(function() {
$(".content").toggle();
}).mouseout(function() {
$(".content").toggle();
});
//*2.jQuery提供的绑定方式:bind(type,[data],fn)函数把元素和事件绑定起来
//type表示要绑定的事件 [data]表示传入的数据 fn表示事件的处理方法
//bind(事件字符串,回调函数),后来添加的元素不会绑定事件
//使用bind()绑定多个事件 type可以接受多个事件类型,使用空格分割多个事件
$(".head").bind("click mouseover", function() {
$(".content").toggle();
});
//后来添加的元素不会绑定事件,不生效
// $('<h5 class="head">什么是jQuery?</h5>').appendTo("#panel");
//解除click事件绑定
// $(".head").unbind("click");
//unbind方法中,什么都不写,解除所有事件绑定
$(".head").unbind();
//3.one()只绑定一次,绑定的事件只会发生一次one(type,[data],fn)函数把元素和事件绑定起来
//type表示要绑定的事件 [data]表示传入的数据 fn表示事件的处理方法
$(".head").one("click mouseover", function() {
$(".content").toggle();
});
//4.live方法会为现在及以后添加的元素都绑定上相应的事件
// $(".head").live("click", function() {
// $(".content").toggle();
// });
// $("#panel").before("<h5 class='head'>什么是jQuery?</h5>");
事件解除绑定
//给li绑定两种事件:单击和鼠标移入
$("li").bind("click mouseenter" , function(){
alert(this.innerHTML);
});
//点击第一个button,将#bj上的mouseenter事件移除
//unbind()可以移除指定的事件,只需要传一个事件名作为参数
//unbind(type,[data|fn]])
//type事件类型 当传入type的时候会解除type事件
//如果没有传入type值,会移除所有事件
$("button:eq(0)").click(function(){
$("li").unbind("mouseenter");
});
//点击第二个button,将#rl上的所有事件移除
$("button:eq(1)").click(function(){
$("#rl").unbind();
});
事件对象
//当我们发生一个事件以后,某个事件其实就是一个对象。事件对象
//使用jquery获取事件对象,在回调函数中传入event参数,event是jquery定义好的一个变量
$(function() {
$("#areaDiv").mousemove(function(event) {
$("#showMsg2").text("x=" + event.screenX + " y=" + event.screenY)
})
})
window.onload = function() {
//使用js获取事件对象
var areaDiv = document.getElementById("areaDiv");
var showMsg = document.getElementById("showMsg");
//同样是将event传入回调函数
areaDiv.onmousemove = function(event) {
var x = event.pageX; //当前页面的坐标
var y = event.pageY; //Y
showMsg.innerHTML = "x=" + x + " y=" + y;
};
}
jQuery动画
隐藏和显示的动画效果
//显示 show()
$("#btn1").click(function() {
// $("#div1").show("fast");
$("#div1").show(500,function(){
alert('div1展示完毕!');
});
});
//隐藏 hide()
$("#btn2").click(function() {
// $("#div1").hide("normal");
$("#div1").hide(1000,function(){
alert('div1隐藏完毕!');
});
});
//切换 toggle()
$("#btn3").click(function() {
// $("#div1").toggle("slow");
$("#div1").toggle(2000,function(){
alert('div1切换完毕!');
});
});
淡入淡出的动画效果
//淡入 fadeIn()
$("#btn4").click(function() {
$("#div1").fadeIn(1000, function() {
alert('div1淡入完毕!');
});
});
//淡出 fadeOut()
$("#btn5").click(function() {
$("#div1").fadeOut(500,function(){
alert('div1淡出完毕!');
});
});
//淡化到 fadeTo()
$("#btn6").click(function() {
$("#div1").fadeTo("slow", Math.random());
});
//淡化切换 fadeToggle()
$("#btn7").click(function() {
$("#div1").fadeToggle("slow", "swing");
// $("#div1").slideDown("fast");
});
jQuery CSS样式操作
CSS
css(name|pro|[,val|fn]) 读写匹配元素的样式属性。
a.css(‘color’)取出a元素的color
a.css(‘color’,“red”)设置a元素的color为red
CSS 类
addClass(class|fn) 为元素添加一个class值;
removeClass([class|fn]) 删除元素的class值;传递一个具体的class值,就会删除具体的某个class
a.removeClass():移除所有的class值
var $divEle = $('div:first');
$('#btn01').click(function() {
//addClass() - 向被选元素添加一个或多个类
$divEle.addClass("redDiv blackDiv");
});
$('#btn02').click(function() {
//removeClass() - 从被选元素删除一个或多个类
$divEle.removeClass("redDiv")
// $divEle.removeClass()
});
$('#btn03').click(function() {
//toggleClass() - 对被选元素进行添加/删除类的切换操作
//切换就是如果具有该类那么删除,如果没有那么添加上
$divEle.toggleClass("redDiv");
});
$('#btn04').click(function() {
//offset() - 返回第一个匹配元素相对于文档的位置。
var os = $divEle.offset();
//注意通过offset获取到的是一个对象,这个对象有两个属性top表示顶边距,left表示左边距
alert("顶边距:" + os.top + " 左边距:" + os.left);
//调用offset设置元素位置时,也需要传递一个js对象,对象有两个属性top和left
//offset({ top: 10, left: 30 });
$divEle.offset({
top: 50,
left: 60
});
});
bootstrap
bootstrap按钮
btn:给每个按钮都添加的classname
btn-lg:大号按钮;缺省:中等大小按钮;btn-sm:小号按钮;btn-xs:超小号按钮;
btn-default
class="btn btn-lg btn-default"
bootstrap基本模板
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- 先引入bootstrap css文件 -->
<link rel="stylesheet" href="../css/bootstrap.min.css" />
</head>
<body>
<!-- 在body的末尾,先引入jQuery.js,再引入bootstrap.js -->
<script src="../js/jquery-1.11.3.min.js" type="text/javascript"></script>
<script src="../js/bootstrap.min.js" type="text/javascript"></script>
</body>
</html>
基于远程CDN的bootstrap模板
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- 先引入bootstrap css文件 -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" />
</head>
<body>
<!-- 在body的末尾,先引入jQuery.js,再引入bootstrap.js -->
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js" type="text/javascript"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" type="text/javascript"></script>
</body>
</html>
ttps://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" />
<!-- 在body的末尾,先引入jQuery.js,再引入bootstrap.js -->
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js" type="text/javascript"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" type="text/javascript"></script>
</body>
```