增
内部插入:
a.appendTo(b) :
把a插入到b子元素的末尾,成为最后一个子元素a.prependTo(b):
把a插入到b所有子元素的前面,成为第一个子元素
//appendTo后面也可以传选择器$("标题
").appendTo("div");
$("标题
").prependTo("div");
外部插入:
a.insertAfter(b) 得到ba,兄弟元素
a.insertBefore(b) 得到ab,兄弟元素
改
a.replaceWith(b) 用b替换a
a.replaceAll(b) 用a替换掉所有的b
删
a.remove() 删除a标签
a.empty() 清空a标签里的内容
举例:
实现动态增删
Name Email Salary Operation Tom tom@tom.com 5000 Delete Jeer Jeer@jeer.com 6000 Delete Bob Bob@bob.com 6000 Delete
添加新员工
name: name: name:
注意:
补绑那里,可以优化成一个用于复用删除的function函数:
var deleteFun = function(){
...
}
//获取:
$divEle = $("#div001");
//新增样式
$divEle.addClass('div.buleBorder');var pos = $divEle.offset();
//打印到控制台看看,分别是左上顶点到页面上边界、左边界的距离
console.log(pos);//设置
$divEle.offset({top:100,left:50
});
基本动画
show()
将隐藏的元素显示
hide()
将可见的元素隐藏
toggle()
可见就隐藏,隐藏就可见
举例:
$(function(){$("#btn1").click(function(){$("#div1").show();});
});
以上动画方法都可以添加参数:
$("#div1").show(5000);
//即慢动作5秒内显示
$("#div1").show(5000,function(){alert("show动画完成!");
});
//想要一直有隐藏出现的效果,可以用递归的思想实现:
var abc = function(){$("#div1").toggle(1000,abc);
}
淡入淡出动画
和基本动画一样,这里的函数也有两个参数,即时长和回调函数。
$(function(){$("#btn2").click(function(){$("#div1").fadeIn();});
});
//透明度,0不可见,1完全可见,0.5半透明...
$("#btn2").click(function(){$("#div1").fadeTo(2000,0.5);
});
动画练习—品牌展示
品牌展示练习
运行效果:
jQuery中,表示”页面加载完成之后“执行:
$(function(){});
原生Js中则是:
window.οnlοad=function(){}
🍁二者的触发时机:
所谓”等标签显示时需要的内容加载完成",比如img标签显示需要src中的图片加载完成,比如iframe标签中的src页面加载完成。
可以看到,两个内容加载完成以后(加载失败也属于加载完成),JS页面加载完成之后的代码就紧跟着执行了。
🍁由此:二者的触发顺序是:
🍁有多个“页面加载完成之后”的代码块时,关于执行次数:
在jQuery中,表示DOM加载完成时运行的代码:
$(document).ready(function(){
//code
});
click()单击事件
mouseover()鼠标移入事件
mouseout()鼠标移出事件
bind()可以给元素一次性绑定一个或者多个事件
one()使用上跟bind一样,但one方法绑定的事件只响应一次
unbind()跟bind事件相反的操作,解除事件的绑定
live()可以用来绑定选择器匹配的所有元素的事件,哪怕这个元素是后面动态创建出来的也有效
❀❀❀❀小练习:
Title
jQuery事件
鼠标移动事件
one事件
本来的div
运行效果:
🍁事件的冒泡
事件的冒泡,即父子元素同时监听同一个事件,当触发子元素事件的时候,同一个事件也被传递到了父元素的事件里去响应。
在子元素事件的函数体中,使用return false;可以阻止事件的冒泡传递
🍁事件对象
事件对象,即封装有触发的事件信息的一个javaScript对象。
在给元素绑定事件的时候,在事件的function(event)参数列表中添加一个参数,这个参数名,常取event,event就是传递事件处理函数的事件对象
window.onload = function(){document.getElementById("001h").onclick = function(event){console.log(event);}
}
$("#001h").click(function(event){console.log(event);
});
参考之前的bind:
$("h5").bind("click mouseover mouseout",function(){console.log("一次给元素h5绑定多个事件,空格隔开");
});
对三个事件,执行的代码块都一样,要想实现不同的事件执行不同的代码块,则要依靠event:
$("h5").bind("click mouseover mouseout",function(event){console.log("event");
});
根据这个type值,实现:
$("h5").bind("click mouseover mouseout",function(event){if(event.type == "mouseover"){console.log("移入");}else if(event.type == "mouseout"){console.log("移出");}else{console.log("点击");}
});
🍺🍺🍺🍺练习—图片跟随
在这里插入代码片
运行效果:
上一篇:Vue系列之指令
下一篇:SQL优化的几种方法