javascript实现切换td中的值


Posted in Javascript onDecember 05, 2014

之前面试前端时,遇到一道面试题,当时没有思绪所以没答出来,今天整理了一下和大家一起分享下:

原题是:使用对象方法创建一个2x2的表格(table),要求第二行第二列单元格中拥有一个按钮,当点击此按钮时,第一行第一列的值与第二行第一列的值互换,见下图

javascript实现切换td中的值

创建表格

javascript实现切换td中的值

点击效果

本人愚钝,如果您有更好的方法不妨告诉在下,本人琢磨了半天终于有了些结果:

1.创建表格的对象

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

    <style>

    table td{text-align: center;}

    </style>

</head>

<body>

<h2>使用对象创建表格</h2>

  <script>

  var table={

    value1:"value1",

    value2:"value2",

    row:2,

    cell:2,

    create:function(){

        //创建表格

        var table=document.createElement("table");

        table.border=1;

        table.width="500";  

        //创建按钮  

        var button=document.createElement("button"); 

        button.innerHTML="切换";

        button.name="qiehuan";

        button.setAttribute("onclick","qiehuan()");

        //创建行

        for(var i=0;i<this.row;i++){

            table.insertRow();

        }

        //创建列

        for(var i=0;i<this.cell;i++){

            table.rows[i].insertCell();

            table.rows[i].insertCell();

        } 

      //将表格添加到body

      document.body.appendChild(table);

      var table=document.getElementsByTagName("table")[0];

      var row1=table.rows[0];

      var row2=table.rows[1];

      table.rows[1].cells[1].appendChild(button);

      var a=row1.cells[0].innerHTML=this.value1;

      var b=row2.cells[0].innerHTML=this.value2;

    }

  }

  table.create();

</script>

</body>

</html>

创建表格方法实现的效果为:

javascript实现切换td中的值

点击切换代码:

function qiehuan(){

      //获取table

      var table=document.getElementsByTagName("table")[0];

    //获取tr

      var row1=table.rows[0];

      var row2=table.rows[1];

    //交换内容

    //创建新元素来存储数据

    var a=row1.cells[0].innerHTML;

    var b=row2.cells[0].innerHTML;

    row1.cells[0].innerHTML=b;

    row2.cells[0].innerHTML=a;
  }

点击切换按钮效果为:

javascript实现切换td中的值

拓展延伸:

1.我想实现点击id/name/sex来更换排序:

javascript实现切换td中的值

原始

javascript实现切换td中的值

效果

code:

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <title>Document</title>

</head>

<body>

    <table border="1" width="500">

    <th colspan="3">点击替换内容</th>

    <tr>

      <td id="id">id</td>

      <td id="name">name</td>

      <td><span id="sex">sex</span></td>

    </tr>

    <tr>

      <td>1</td>

      <td>a</td>

      <td>男</td>      

    </tr>

    <tr>

      <td>2</td>

      <td>b</td>

      <td>女</td>      

    </tr>   

  </table>

  <script>

    //绑定效果---ie下失效

    document.getElementById('id').addEventListener('click', f_switch, false);

    document.getElementById('name').addEventListener('click', f_switch, false);

    document.getElementById('sex').addEventListener('click', f_switch, false);

    function f_switch(){

      //获取table

      var table=document.getElementsByTagName("table")[0];

      //获取行元素

      var row1=table.rows[2];

      var row2=table.rows[3];

      //方法一

      //创建新元素来存储数据

      var newrow=document.createElement("tr");

      var newhtml=newrow.innerHTML=row2.innerHTML;

      var newrow2=document.createElement("tr");

      var newhtml2=newrow2.innerHTML=row1.innerHTML;

      //替换

      row1.innerHTML=newhtml;

      row2.innerHTML=newhtml2;

     //方法二

     //不明白....下面一句就能实现

     //table.appendChild(row1);

    }

  </script>

  <br>

 </body>

</html>
Javascript 相关文章推荐
js的with语句使用方法
Sep 21 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
Feb 11 Javascript
关于javaScript注册click事件传递参数的不成功问题
Jul 18 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
Sep 22 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
Jun 25 Javascript
js+css3制作时钟特效
Oct 16 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
May 10 Javascript
Javascript中的async awai的用法
May 17 Javascript
关于JavaScript中的this指向问题总结篇
Jul 23 Javascript
详解微信小程序与内嵌网页交互实现支付功能
Oct 22 Javascript
JavaScript 性能提升之路(推荐)
Apr 10 Javascript
一起来了解一下JavaScript的预编译(小结)
Mar 01 Javascript
使用Javascript简单实现图片无缝滚动
Dec 05 #Javascript
深入分析js的冒泡事件
Dec 05 #Javascript
Javascript解析URL方法详解
Dec 05 #Javascript
jQuery不兼容input的change事件问题解决过程
Dec 05 #Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
Dec 05 #Javascript
jQuery前端框架easyui使用Dialog时bug处理
Dec 05 #Javascript
Javascript实现获取窗口的大小和位置代码分享
Dec 04 #Javascript
You might like
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
php视频拍照上传头像功能实现代码分享
2015/10/08 PHP
jquery简单体验
2007/01/10 Javascript
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
JS实现购物车特效
2017/02/02 Javascript
利用canvas实现的加载动画效果实例代码
2017/07/05 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
vue debug 二种方法
2018/09/16 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
Python标准库之collections包的使用教程
2017/04/27 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
Python标准库sched模块使用指南
2017/07/06 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
python实现扫描日志关键字的示例
2018/04/28 Python
python实现关键词提取的示例讲解
2018/04/28 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
Python列表元素常见操作简单示例
2019/10/25 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
民主评议党员自我鉴定
2014/10/21 职场文书
离婚起诉状范本
2015/05/19 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL