jQuery详解(二) 函数和事件
文章目录
- @[toc]
- 四、函数
- 2.第二组函数
- 1.remove():将数组中所有DOM对象及其子对象一并删除。
- 2.empty():将数组中所有DOM对象的子对象删除。
- 4.html():返回的结果相当于innerHTML。
- 前四个函数的例子
- 5.each()
- each实例
- 五、事件
- 1.定义事件监听元素
- 1.1第一种事件绑定语法
- 1.2第二种事件绑定方式,on
- 实例
传送门:《jQuery详解(第一篇:对象转换、选择器、过滤器、函数)》https://blog.csdn.net/gao1213977085/article/details/119256862
四、函数
2.第二组函数
1.remove():将数组中所有DOM对象及其子对象一并删除。
$("选择器").remove();
2.empty():将数组中所有DOM对象的子对象删除。
$("选择器").empty();
###3.append():给dom对象在他的后面增加新的dom对象。
$("选择器").append(子对象);
4.html():返回的结果相当于innerHTML。
html();//获取dom数组中第一个dom对象的文本值。
html(参数);//给dom数组中所有成员设置新的文本内容。
前四个函数的例子
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>函数2</title><style type="text/css">div{background: gray;}</style><script type="text/javascript" src="js/jquery-3.4.1.js"></script><script type="text/javascript">//绑定事件$(function(){$("#btn1").click(function(){//删除dom和子dom数组$("select").remove();}) $("#btn2").click(function(){//删除子dom数组$("select").empty();}) $("#btn3").click(function(){//添加dom对象$("#mydiv").append("<button id = 'newbtn'>我是新加的按钮</button>");$("#mydiv").append("<table border='1'><tr><td>hello<td><tr></table>");})$("#btn4").click(function(){alert($("span").html());})$("#btn5").click(function(){//设置值,包含html标签的内容//把所有span设置成新的内容.$("span").html("我是<b>新的内容</b>")})});</script></head><body><select><option value="老虎">老虎</option><option value="狮子">狮子</option><option value="豹">豹</option></select><br /><br /><br /><select><option value="亚洲">亚洲</option><option value="欧洲">欧洲</option><option value="大洋洲">大洋洲</option></select><br /><br /><div id="mydiv" style="background: red;">我是div</div><br /><br /><span>我是<b>mysql</b>数据库</span><br /><span>学习sql语言</span><br /><br /><button id="btn1">使用remove删除dom和子dom数组</button><br /><button id="btn2">使用empty删除子dom对象</button><br /><button id="btn3">使用append追加dom对象</button><br /><button id="btn4">获取dom数组中第一个dom对象的文本(innerHTML)</button><br /><button id="btn5">设置dom对象的文本(innerHTML)</button><br /></body>
</html>
5.each()
$(function(){$("#btn6").click(function(){var num=[10,20,30];for(var i=0;i<num.length;i++){doArrayContent(i,num[i]);}})});//定义一个函数,处理数组中的每个内容function doArrayContent(index,element){console.log("index就是数组的循环变量="+index+",element是数组成员="+element);}
each是循环数组,可以循环数组,json,dom对象数组。
1、第一种用法
$.each(要循环的内容,function(index,element){处理函数})
要循环的内容:可以是数组,json对象,dom对象数组。
function:循环的处理函数,每个成员都会执行函数一次。
index:是循环变量的值,名称自定义。
element:和index对应的成员,element名称是自定义的。
doArrayContent:function(index,element){处理函数}
2、第二种用法
$("选择器").each(function(index,element){处理函数});
可以对jquery对象进行循环处理。jQuery对象就是dom数组。
each实例
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>函数2</title><style type="text/css"></style> <script type="text/javascript" src="js/jquery-3.4.1.js"></script><script type="text/javascript">//绑定事件$(function(){ $("#btn7").click(function(){var arr=["abc","hello","jquery"];$.each(arr,function(index,element){console.log("循环变量i="+index+",数组成员="+element);}) });$("#btn8").click(function(){var json={"name":"李四","age":"20","sex":"男"};//key循环json数组.$.each(json,function(i,n){//i 是 key , n:valueconsole.log("i是json的key="+i+",n是json的value"+n);})})$("#btn9").click(function(){var domArray = $(":text");$.each(domArray,function(i,n){//i是循环变量,n是dom对象console.log("i是循环变量="+i+",n是dom对象="+n.value);})})$("#btn10").click(function(){$(":text").each(function(i,n){console.log("i是循环变量="+i+",n是dom对象="+$(n).val());})})});</script></head><body> <br /><br /><input type="text" value="刘备"/><br /><input type="text" value="关羽"/><br /><input type="text" value="张飞"/><br /><br /><br /><button id="btn7">each循环普通数组</button><br /> <button id="btn8">each循环json对象</button><br /><button id="btn9">each循环dom数组</button><br /><button id="btn10">each第二种语法格式</button><br /></body>
</html>
五、事件
1.定义事件监听元素
1.1第一种事件绑定语法
语法:
$(选择器).监听事件名称(处理函数);
$(选择器):选择0或多个dom对象。给他们绑定事件。
事件名称:就是JS中去掉on的部分。例如单击事件onclick,这里的事件名称就是click。
事件的处理函数:函数定义,当事件发生时,执行这个函数。
说明:监听事件名称是js事件中去掉on后的内容,js中的onclick的监听事件名称是click。
例如:
//语法:
<input type="button" id="btn" value="绑定事件" />
//绑定事件;
$("#btn").click(function(){单击的处理代码});
//另外一种
$(":button").click(function(){单击的处理代码})//示例:
<input id="btn" type="button" value="读取checkbox的value值" />
<script type="text/javascript">//绑定事件$("#btn").click(function(){alert("button单击了,执行处理函数");})
<script>
PS:
1.js代码是从上往下执行,如果把js代码放到上面无法找到input,所以不能执行。所以js代码放到最后才可以执行上面的代码!
所以注意js的代码位置或者语法。
2.还有另一种写法放在HTML页面head中也可以执行
//页面对象加载后执行,相当于onload事件。
$(function(){$("#btn").click(function(){alert("button单击了,执行处理函数");})
});
1.2第二种事件绑定方式,on
on()方法在被选元素上添加事件处理程序。该方法给API带来很多便利,推荐使用该方法。
$("选择器").on(event,function);
event:事件一个或者多个,多个之间空格分开。
function:规定当事件发生时运行的函数。
<input id="btn" type="button" value="读取checkbox的value值" />
<script type="text/javascript">//绑定事件$("#btn").on("click",function(){alert("按钮单击了")});
<script>
用on的方式效率更高,绑定功能更强。
I带来很多便利,推荐使用该方法。
$("选择器").on(event,function);
event:事件一个或者多个,多个之间空格分开。
function:规定当事件发生时运行的函数。
<input id="btn" type="button" value="读取checkbox的value值" />
<script type="text/javascript">//绑定事件$("#btn").on("click",function(){alert("按钮单击了")});
<script>
用on的方式效率更高,绑定功能更强。
实例
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>on绑定事件</title><style type="text/css"></style> <script type="text/javascript" src="js/jquery-3.4.1.js"></script><script type="text/javascript">$(function(){$("#btn").on("click",function(){//alert("button is clicked");$("div").append("<button id='newbtn'>我是新增加的按钮</button>");//给dom对象button 绑定事件$("#newbtn").on("click",function(){alert("我是新的按钮的单机事件");})})})</script></head><body> <div id="mydiv" style="background-color: aquamarine;">我是mydiv</div><input type="button" id="btn" value="新建dom对象,绑定事件" /></body>
</html>
jQuery详解(二) 函数和事件相关推荐
- 互斥量、条件变量与pthread_cond_wait()函数的使用,详解(二)
互斥量.条件变量与pthread_cond_wait()函数的使用,详解(二) 1.Linux"线程" 进程与线程之间是有区别的,不过linux内核只提供了轻量进程的支持,未实现线 ...
- ViewPager 详解(二)---详解四大函数
前言:上篇中我们讲解了如何快速实现了一个滑动页面,但问题在于,PageAdapter必须要重写的四个函数,它们都各有什么意义,在上节的函数内部为什么要这么实现,下面我们就结合Android的API说明 ...
- PopUpWindow使用详解(二)——进阶及答疑
相关文章: 1.<PopUpWindow使用详解(一)--基本使用> 2.<PopUpWindow使用详解(二)--进阶及答疑> 上篇为大家基本讲述了有关PopupWindow ...
- EventBus使用详解(二)——EventBus使用进阶
前言:这段时间感觉自己也有点懒了,真是内心有点自责呢,除了工作,也没做点什么,EventBus也是一周前总结出来的,只能以写博客为名来弥补内心的罪恶感了,集合同事们做的项目,虽然上周开动了,但总感觉大 ...
- 安卓 linux init.rc,[原创]Android init.rc文件解析过程详解(二)
Android init.rc文件解析过程详解(二) 3.parse_new_section代码如下: void parse_new_section(struct parse_state *state ...
- python命名空间和闭包_Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】...
本文实例讲述了Python函数基础用法.分享给大家供大家参考,具体如下: 一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点: 1.约束函数的调用者必须按照Kye=value的 ...
- [转]文件IO详解(二)---文件描述符(fd)和inode号的关系
原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...
- Android init.rc文件解析过程详解(二)
Android init.rc文件解析过程详解(二) 3.parse_new_section代码如下: void parse_new_section(struct parse_state *state ...
- OS--进程间通信详解(二)
OS–进程间通信详解(二) 文章目录 OS--进程间通信详解(二) 一.进程间通信 1.互斥量 Futexes Pthreads中的互斥量 2.管程 3.消息传递 消息传递系统的设计要点 用消息传递解 ...
最新文章
- 这是我读过写得最好的【秒杀系统架构】分析与实战!
- python mkl freebsd_FreeBSD:在uwsgi中使用python3而不是python2
- 使用C#创建SQLite控制台应用程序
- thttpd源码分析
- numpy的random
- HDU-1698 JUST A HOOK 线段树
- 简单、易用的 MySQL 官方压测工具
- linux常用命令(4)——系统管理2
- WannaCry不相信眼泪 它需要你的安全防御与响应能力
- MySQL数据库优化概述
- 【SegMap: 3D Segment Mapping using Data-Driven Descriptors】
- linux网易云打不开的问题
- 网络计算机干啥用,路由器干什么用?路由器功能详解【图文】
- 基于PyTorch的C++API运行模型进行图像分类
- 巧用Photoshop为透明玻璃杯抠图
- 文字排版--删除线(text-decoration:line-through)
- Laravel文档梳理6、响应
- [附源码]java毕业设计点餐系统论文
- Git 规范和 Changelog 生成
- vba调用python代码_Python替代Excel Vba系列(终):vba中调用Python