JS表格的动态操作完整示例


Posted in Javascript onJanuary 13, 2020

本文实例讲述了JS表格的动态操作。分享给大家供大家参考,具体如下:

<html>
    <head>
        <title>js-表格的动态操作</title>
        <meta charset="UTF-8"/>
        <style type="text/css">
            #ta tr{
                height: 20px;
            }
            #t1{
                font-weight: bold;
                /*align-content: center;*/
                /*不能设置文本内容居中*/
            }
        </style>
        <script type="text/javascript">
            function delectOper(btn){
                //获取table对象,我们用其进行其对子元素的操作
                var ta=document.getElementById("ta")
                //获取其父类对象
                var tr=btn.parentNode.parentNode;  //我们进行删除操作是删除其所在的行,所以我们用两次parent操作,第一层得到其所在的列(单元格),再进一层得到其所在的行对象
                //执行删除操作
                ta.deleteRow(tr.rowIndex);  //进行删除操作时,我们用父类对象删除子类对象,
                //注:对于div等对象我们可以使用remove方法,但是对于表格的属性我们利用delete进行操作,而且我们利用他的rowIndex(行号)而不是其id亦或是对象
                //我们没法对每一个行设置一个id所以用这种方法(通过调入对象找到其父类对象)更加的方便
            }
            function changeOper(n){
//                var n=n;
                //获取修改的位置对象
                var cell=document.getElementById("cell"+n);
                //进行一定的限制(只有是数字的情况下才能进行拼接)
                if(!isNaN(Number(cell.innerHTML))){//isNAN如果是true则表示数值不是数字,如果不添加就会产生连续点击修改时出现把源码拼接上的情况
                //修改对象的类型
                cell.innerHTML="<input type='text' value='"+cell.innerHTML+"' onblur='changeOper2(this,this.parentNode)'/>" //利用value='"+cell.innerHTML+"'可以实现内容的拼接注意:其内部的值是"+cell.innerHTML+"一个拼接量
                //注意格式:在""内部的要用'',        //不知道为什么在内部不能直接把cell和n当参数传出去,但是可以传this对象,所以对应的我们利用this,简介传出其父对象
                }  //还有一个bug:当用户输入的值是字符(不是数字),其也会进行value的赋值,但是无法再触发修改按键,只能检索原对象的内容类型,无法检索用户的
            }
            function changeOper2(inp,cell){
                //获取修改位置对象
//                var cell=document.getElementById("cell"+n);
                //修改对象的类型
                cell.innerHTML=inp.value;  //通过对象获得用户修改获得value值
            }
            //明白了:document可以调用任何的id,(好比其他都是全局变量一样),但是他的局限是获取的方法有限,必须有特定的属性才能获取
            //document。innerHTML是对其内部的内容进行重写。
        </script>
    </head>
    <body>
        <h3 align="center">表格的动态操作</h3>
        <hr />
        <table border="1px" id="ta" align="center">  <!--align可以直接把整个表格居中-->
            <tr id="t1" align="center">
                <td width="200px">Animation</td>
                <td width="100px">上映年份</td>
                <td width="100px">评分(10分)</td>
                <td width="200px">投币</td>
                <td width="200px">操作</td>
            </tr>
            <tr align="center">
                <td>clannad</td>
                <td>2008</td>
                <td>9.9</td>
                <td id="cell2">100</td>
                <td>
                    <input type="button" name="" id="" value="修改" onclick="changeOper(2)"/>
                    <input type="button" name="" id="" value="删除" onclick="delectOper(this)"/>
                </td>
            </tr>
            <tr align="center">
                <td>月色真美</td>
                <td>2017</td>
                <td>9.4</td>
                <td id="cell3">70</td>
                <td>
                    <input type="button" name="" id="" value="修改" onclick="changeOper(3)"/>
                    <input type="button" name="" id="" value="删除" onclick="delectOper(this)"/>
                </td>
            </tr>
            <tr align="center">
                <td>境界的彼方</td>
                <td>2013</td>
                <td>9.4</td>
                <td id="cell4">60</td>
                <td>
                    <input type="button" name="" id="" value="修改" onclick="changeOper(4)"/>
                    <input type="button" name="" id="" value="删除" onclick="delectOper(this)"/>
                </td>
            </tr>
        </table>
    </body>
</html>

运行效果:

JS表格的动态操作完整示例

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容可查看本站专题:《JavaScript操作DOM技巧总结》、《JavaScript页面元素操作技巧总结》、《JavaScript事件相关操作与技巧大全》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js 数组实现一个类似ruby的迭代器
Oct 27 Javascript
jquery入门—数据删除与隔行变色以及图片预览
Jan 07 Javascript
javascript检测页面是否缩放的小例子
May 16 Javascript
简单方法判断JavaScript对象为null或者属性为空
Sep 26 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
Jun 21 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
Nov 07 Javascript
jQuery上传多张图片带进度条样式(DEMO)
Mar 02 Javascript
javascript 数据存储的常用函数总结
Jun 01 Javascript
Nuxt.js踩坑总结分享
Jan 18 Javascript
小程序测试后台服务的方法(ngrok)
Mar 08 Javascript
详解vue-property-decorator使用手册
Jul 29 Javascript
vue移动端的左右滑动事件详解
Jun 17 Javascript
JavaScript实现模态对话框实例
Jan 13 #Javascript
JS动态图片的实现方法完整示例
Jan 13 #Javascript
js实现拖动缓动效果
Jan 13 #Javascript
Vue.js中的高级面试题及答案
Jan 13 #Javascript
深入理解redux之compose的具体应用
Jan 12 #Javascript
2019年度web前端面试题总结(主要为Vue面试题)
Jan 12 #Javascript
html2canvas属性和使用方法以及如何使用html2canvas将HTML内容写入Canvas生成图片
Jan 12 #Javascript
You might like
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
php导出生成word的方法
2015/12/25 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
php fread函数使用方法总结
2019/05/28 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
Javascript中的apply()方法浅析
2015/03/15 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
jQuery删除/清空指定元素的所有子节点实例代码
2019/07/04 jQuery
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
2020/03/17 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
python列表操作使用示例分享
2014/02/21 Python
Python实现多线程下载文件的代码实例
2014/06/01 Python
Python编程实现双击更新所有已安装python模块的方法
2017/06/05 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
广州某公司软件工程师面试题
2014/12/22 面试题
李开复演讲稿
2014/05/24 职场文书
2014年度思想工作总结
2014/11/27 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
合理化建议书范文
2015/09/14 职场文书
护士岗位竞聘书
2015/09/15 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
利用python进行数据加载
2021/06/20 Python