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 相关文章推荐
javascript引用对象的方法
Jan 11 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
Mar 25 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
Mar 07 Javascript
jQuery的animate函数学习记录
Aug 08 Javascript
JS实现让访问者自助选择网页文字颜色的方法
Feb 24 Javascript
jquery实现的简单二级菜单效果代码
Sep 22 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 Javascript
Vue列表页渲染优化详解
Jul 24 Javascript
node文字生成图片的示例代码
Oct 26 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
Dec 24 jQuery
详解使用create-react-app快速构建React开发环境
May 16 Javascript
详解使用vue-admin-template的优化历程
May 20 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
基于文本的访客签到簿
2006/10/09 PHP
为查询结果建立向后/向前按钮
2006/10/09 PHP
用DBSQL类加快开发MySQL数据库程序的速度
2006/10/09 PHP
解析php类的注册与自动加载
2013/07/05 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
php取出数组单个值的方法
2018/03/12 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
JavaScript访问样式表代码
2010/10/15 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
js仿淘宝和百度文库的评分功能
2016/05/15 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
微信小程序组件传值图示过程详解
2019/07/31 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
Python使用asyncio包处理并发详解
2017/09/09 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
Python调用C语言的实现
2019/07/26 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
什么是servlet链?
2014/07/13 面试题
信用社员工先进事迹材料
2014/02/04 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
Window server中安装Redis的超详细教程
2021/11/17 Redis
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫
Python Flask实现进度条
2022/05/11 Python