jQuery----事件绑定之动态添加、删除table行
在jquery中,给元素绑定事件,本文一共介绍三种方法,运用案例,针对最常用的on()方法,进行事件绑定操作。
事件绑定方法:
①$(element).bind()
参数:{ “事件名称1”:function( ){ } ,“事件名称2”:function(){ },......}
例如给类名为one的div绑定鼠标点击和鼠标滑入、鼠标滑出事件
$( "div.one").bind( { "click":function(){},“mouseover”:function(){},“mouseout”:function(){} });
②父级元素.delegate()
参数1:子级元素
参数2:事件名称
参数3:事件处理函数
③父级元素.on()
参数1:事件名称
参数2:子级元素
参数3:事件处理函数
示例如下:

分析:点击“添加数据”按钮,弹出“添加数据”对话框,输入课程名字和所属学院,点击“添加”按钮,将输入的课程名称和所属学院添加至表格中,同时,点击“GET”,删除“GET”所在行
具体代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
* {
padding: 0px;
height: 0px;
} /* 遮盖层 */
.cover {
width: 100%;
height: 100%;
background-color: black;
/* 注意:要想宽高100%覆盖,必须脱离文档流 */
position: absolute;
top: 0px;
left: 0px;
opacity: 0.1;
display: none;
} /* 表单层 */
.form {
height: 294px;
width: 424px;
background-color: white;
border: 1px solid lightgray;
margin-left: -212px;
margin-top: -140px;
display: none;
position: absolute;
left: 50%;
top: 50%;
} /* 表单层头部 */
.form .header {
height: 60px;
background-color: #F7F7F7;
line-height: 48px;
text-indent: 0.5em;
} .form .header span {
color: #666666;
font-weight: bold;
} .header a{
position: relative;
left: 321px;
text-decoration: none;
color: black;
font-weight: 400;
font-size: 30px;
top: 4px;
} /* 表单层主体 */
.body {
height: 173px;
padding-top: 35px;
} .body div {
height: 36px;
line-height: 36px;
text-indent: 10px;
margin-bottom: 35px;
} .body div input {
height: 36px;
width: 300px;
} .add {
text-align: center;
} #btnAdd {
height: 36px;
width: 170px;
} /* 原始层 */
.original{
height: 234px;
width: 369px;
margin: 200px auto; }
/* 添加数据按钮 */
.original input{
height: 32px;
width: 112px;
font-weight: bold;
line-height: 32px;
font-size: 17px;
}
table{
width: 100%;
border-collapse: collapse;
}
thead{
height: 50px;
background-color: #0099CC;
color: white;
}
tr{
height: 42px;
line-height: 42px;
}
th,td{
border: 1px solid #D0D0D0;
text-align: center;
}
tbody{
color: #404060;
font-size: 10px;
background-color: #F0F0F0;
}
.get{
color: #0050EF;
}
</style>
<script src="jquery-1.12.2.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
//点击添加数据,弹出表单层和遮盖层
$("#btnAddData").on("click",function(){
$(".cover").show();
$(".form").show();
});
//点击"×",隐藏表单层和遮盖层
$(".header a").on("click",function(){
$(".cover").hide();
$(".form").hide();
});
//点击"添加"按钮,给表格中添加数据
$("#btnAdd").on("click",function(){
var tr=$("<tr></tr>");
var item=[];
item[0]=$(".course input").val();
item[1]=$(".academy input").val();
item[2]="GET";
for(var i=0;i<3;i++){
var td=$("<td></td>");
td.text(item[i]);
tr.append(td);
if(i==2){
td.addClass("get");
}
}
$("tbody").append(tr);
});
//点击"GET",删除所在行
$("tbody").on("click",".get",function(){
$(this).parent().remove();
})
});
</script>
</head>
<body>
<!-- 遮盖层 -->
<div class="cover"></div> <!-- 表单层 -->
<div class="form">
<!-- 表单层头部 -->
<div class="header">
<span>添加数据</span>
<a href="javascrit:void(0)">×</a>
</div>
<!-- 表单层主体 -->
<div class="body">
<!-- 课程名称 -->
<div class="course">
<span>课程名字:</span><input type="text" id="" placeholder="请输入课程名称" />
</div>
<!-- 所属学院 -->
<div class="academy">
<span>所属学院:</span><input type="text" id="" value="传智播客-前端与移动开发学院" />
</div>
<!-- 添加按钮 -->
<div class="add">
<input type="button" id="btnAdd" value="添加" />
</div>
</div>
</div> <!-- 原始层 -->
<div class="original">
<input type="button" id="btnAddData" value="添加数据" /> <table cellspacing="0" cellpadding="0">
<!-- 表格头部 -->
<thead>
<tr>
<th>课程名称</th>
<th>所属学院</th>
<th>已学会</th>
</tr>
</thead>
<!-- 表格主体 -->
<tbody>
<tr>
<td>JavaScript</td>
<td>传智播客-前端与移动开发学院</td>
<td class="get">GET</td>
</tr> <tr>
<td>css</td>
<td>传智播客-前端与移动开发学院</td>
<td class="get">GET</td>
</tr> <tr>
<td>html</td>
<td>传智播客-前端与移动开发学院</td>
<td class="get">GET</td>
</tr> <tr>
<td>jQuery</td>
<td>传智播客-前端与移动开发学院</td>
<td class="get">GET</td>
</tr> </tbody>
</table>
</div>
</body>
</html>
注意:
网页结构布局
在给”GET“绑定点击事件,注意从父级元素开始给子级元素绑定事件,否则点击事件会出现bug
jQuery----事件绑定之动态添加、删除table行的更多相关文章
- Js实现动态添加删除Table行示例
<table cellpadding="0" cellspacing="0" border="1" style="margi ...
- C# ASP 动态添加Html Table行
用JS放法实现以下效果: 前端文件Questionnaire23.aspx: <%@ Page Title="题目" Language="C#" Mast ...
- jquery动态添加删除div--事件绑定,对象克隆
我想做一个可以动态添加删除div的功能.中间遇到一个问题,最后在manong123.com开发文摘 版主的热心帮助下解答了(答案在最后) 使用到的jquery方法和思想就是:事件的绑定和销毁(unbi ...
- jQuery中如何给动态添加的元素绑定事件
jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.在1.7版本以前使用live.但是在1.8版本以后推荐使用on.这 ...
- jQuery动态添加删除CSS样式
jQuery框架提供了两个CSS样式操作方法,一个是追加样式addClass,一个是移除样式removeClass,下面通过一个小例子讲解用法. jQuery动态追加移除CSS样式 <!DOCT ...
- 编辑 Ext 表格(一)——— 动态添加删除行列
一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除. (1) 动态添加表格的行 gridS ...
- jquery 删除table行,该如何解决
query 删除table行< table > < tbody > < tr > < td > 这行原来就有 </ td > < ...
- jquery 无刷新添加/删除 input行 实时计算购物车价格
jquery 无刷新添加/删除 input行 实时计算购物车价格 jquery 未来事件插件jq_Live_Extension.js 演示 <script> $(document).rea ...
- JQuery事件绑定,bind与on区别
jquery事件绑定bind:向匹配元素添加一个或多个事件处理器 $(selector).bind("click",data,function); live:向当前或未来的匹配元素 ...
- jQuery事件绑定和委托实例
本文实例讲述了jQuery事件绑定和委托.分享给大家供大家参考.具体方法如下: jQuery事件的绑定和委托可以用多种方法实现,on() . bind() . live() . delegate ...
随机推荐
- 六位数随机验证 sms_code.py
#!/usr/bin/python env # coding:utf-8 import random def code(num=6): res = "" for i in rang ...
- CSS深入理解之absolute(HTML/CSS)
absolute和float是同父异母的兄弟,因为它们具有相同点:包裹性与破坏性 absolute的特点 1.独立的,并且可以摆脱overflow的限制,无论是滚动还是隐藏: 2.无依赖,不受rela ...
- seo关键词
除非你站有很高的权重. 小道消息称keywords曾被百度.谷歌.雅虎等搜索引擎剔除,将不会再影响搜索引擎的排序结果,小编认为设置一下总没坏处,还是有一些搜索引擎比较重视keywords标签的. 用法 ...
- 使用 Azure CLI 创建 Linux 虚拟机
Azure CLI 用于从命令行或脚本创建和管理 Azure 资源. 本指南详细介绍了如何使用 Azure CLI 部署运行 Ubuntu 服务器的虚拟机. 服务器部署以后,将创建 SSH 连接,并且 ...
- SQL SERVER 使用ESCAPE转义
使用SQL语句查询是开发中常做的事,在实际的情况中,可能会遇到,查询包含某个关键词的所有行,而这个关键词正好也是SQL SERVER的关键词. 下面有一张表Member,有如下的数据: 假如需要查询名 ...
- django使用LDAP验证
1.安装Python-LDAP(python_ldap-2.4.25-cp27-none-win_amd64.whl)pip install python_ldap-2.4.25-cp27-none- ...
- 《CDN 之我见》原理篇——CDN的由来与调度
CDN是将源站内容分发至全国所有的节点,从而缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性的技术.它能够有效解决网络带宽小.用户访问量大.网点分布不均等问题. 为了让大家更全面的了解 ...
- __iter__的有无
迭代器和生成器 1.迭代器 我们之前⼀直在⽤可迭代对象进⾏迭代操作. 那么到底什么是可迭代对象.⾸先我们先回顾⼀下⽬前我们所熟知的可迭代对象有哪些: str, list, tuple, dict, s ...
- 微信小程序初始化 operateWXData:fail invalid scope
初学者开发微信小程序,可以使用云开发来进行微信小程序的开发. 第一次使用开发工具遇到的问题 解决方案:1.找到云开发 2.点击开通,选择合适自己的开发环境: 3.完成后,返回开发工具界面点击项目第一个 ...
- ZT Android4.2蓝牙基础架构学习
Android4.2蓝牙基础架构学习 分类: Jellybean Bluetooth Bluetooth 2013-10-13 23:58 863人阅读 评论(3) 收藏 举报 androidblue ...