最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript實(shí)現(xiàn)切換td中的值

 更新時(shí)間:2014年12月05日 10:46:00   投稿:hebedich  
這篇文章主要介紹了javascript實(shí)現(xiàn)切換td中的值的方法,需要的朋友可以參考下

之前面試前端時(shí),遇到一道面試題,當(dāng)時(shí)沒(méi)有思緒所以沒(méi)答出來(lái),今天整理了一下和大家一起分享下:

原題是:使用對(duì)象方法創(chuàng)建一個(gè)2x2的表格(table),要求第二行第二列單元格中擁有一個(gè)按鈕,當(dāng)點(diǎn)擊此按鈕時(shí),第一行第一列的值與第二行第一列的值互換,見(jiàn)下圖

創(chuàng)建表格

點(diǎn)擊效果

本人愚鈍,如果您有更好的方法不妨告訴在下,本人琢磨了半天終于有了些結(jié)果:

1.創(chuàng)建表格的對(duì)象

復(fù)制代碼 代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    table td{text-align: center;}
    </style>
</head>
<body>
<h2>使用對(duì)象創(chuàng)建表格</h2>
  <script>
  var table={
    value1:"value1",
    value2:"value2",
    row:2,
    cell:2,
    create:function(){
        //創(chuàng)建表格
        var table=document.createElement("table");
        table.border=1;
        table.width="500"; 
        //創(chuàng)建按鈕 
        var button=document.createElement("button");
        button.innerHTML="切換";
        button.name="qiehuan";
        button.setAttribute("onclick","qiehuan()");
        //創(chuàng)建行
        for(var i=0;i<this.row;i++){
            table.insertRow();
        }
        //創(chuàng)建列
        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>

創(chuàng)建表格方法實(shí)現(xiàn)的效果為:


點(diǎn)擊切換代碼:

復(fù)制代碼 代碼如下:

function qiehuan(){
      //獲取table
      var table=document.getElementsByTagName("table")[0];
    //獲取tr
      var row1=table.rows[0];
      var row2=table.rows[1];
    //交換內(nèi)容
    //創(chuàng)建新元素來(lái)存儲(chǔ)數(shù)據(jù)
    var a=row1.cells[0].innerHTML;
    var b=row2.cells[0].innerHTML;
    row1.cells[0].innerHTML=b;
    row2.cells[0].innerHTML=a;

  }

點(diǎn)擊切換按鈕效果為:

拓展延伸:

1.我想實(shí)現(xiàn)點(diǎn)擊id/name/sex來(lái)更換排序:

原始

效果

code:

復(fù)制代碼 代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
    <table border="1" width="500">
    <th colspan="3">點(diǎn)擊替換內(nèi)容</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];
      //方法一
      //創(chuàng)建新元素來(lái)存儲(chǔ)數(shù)據(jù)
      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;
     //方法二
     //不明白....下面一句就能實(shí)現(xiàn)
     //table.appendChild(row1);
    }
  </script>
  <br>
 </body>
</html>

相關(guān)文章

  • JS實(shí)現(xiàn)的input選擇圖片本地預(yù)覽功能示例

    JS實(shí)現(xiàn)的input選擇圖片本地預(yù)覽功能示例

    這篇文章主要介紹了JS實(shí)現(xiàn)的input選擇圖片本地預(yù)覽功能,涉及javascript針對(duì)頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-08-08
  • javascript實(shí)現(xiàn)圖片延遲加載方法匯總(三種方法)

    javascript實(shí)現(xiàn)圖片延遲加載方法匯總(三種方法)

    看到一些大型網(wǎng)站,頁(yè)面如果有很多圖片的時(shí)候,當(dāng)你滾動(dòng)到相應(yīng)的行時(shí),當(dāng)前行的圖片才即時(shí)加載的,這樣子的話頁(yè)面在打開(kāi)只加可視區(qū)域的圖片,而其它隱藏的圖片則不加載,一定程序上加快了頁(yè)面加載的速度,跟著小編一起學(xué)習(xí)javascript實(shí)現(xiàn)圖片延遲加載吧
    2015-08-08
  • JS實(shí)現(xiàn)頁(yè)面鼠標(biāo)點(diǎn)擊出現(xiàn)圖片特效

    JS實(shí)現(xiàn)頁(yè)面鼠標(biāo)點(diǎn)擊出現(xiàn)圖片特效

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)頁(yè)面鼠標(biāo)點(diǎn)擊出現(xiàn)圖片特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JavaScript學(xué)習(xí)筆記整理之引用類型

    JavaScript學(xué)習(xí)筆記整理之引用類型

    引用類型是JavaScript中很重要的內(nèi)容,通過(guò)本文給大家介紹JavaScript學(xué)習(xí)筆記整理之引用類型,對(duì)js引用類型相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • 深入了解TypeScript中的映射類型

    深入了解TypeScript中的映射類型

    在?TypeScript?中,映射類型可以幫助我們避免編寫(xiě)重復(fù)的代碼,它可以根據(jù)現(xiàn)有類型和定義的一些規(guī)則來(lái)創(chuàng)建新類型。本文我們就來(lái)看一下什么是映射類型以及如何構(gòu)建自己的映射類型
    2022-08-08
  • ES6基礎(chǔ)之字符串和函數(shù)的拓展詳解

    ES6基礎(chǔ)之字符串和函數(shù)的拓展詳解

    這篇文章主要介紹了ES6基礎(chǔ)之字符串和函數(shù)的拓展,結(jié)合實(shí)例形式分析了ES6字符串與函數(shù)擴(kuò)展的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • ES6中解構(gòu)賦值的語(yǔ)法及用法實(shí)例

    ES6中解構(gòu)賦值的語(yǔ)法及用法實(shí)例

    ES6的解構(gòu)賦值是一種快速方便的方法,可以從數(shù)組或?qū)ο笾刑崛≈挡⑵滟x值給變量,下面這篇文章主要給大家介紹了關(guān)于ES6中解構(gòu)賦值的語(yǔ)法及用法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • js實(shí)現(xiàn)右下角窗口彈出窗口效果

    js實(shí)現(xiàn)右下角窗口彈出窗口效果

    好的朋友經(jīng)常需要彈出信息,這個(gè)功能不錯(cuò)
    2008-09-09
  • Bootstrap CSS組件之按鈕組(btn-group)

    Bootstrap CSS組件之按鈕組(btn-group)

    這篇文章主要為大家詳細(xì)介紹了Bootstrap CSS組件之按鈕組(btn-group),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 基于js Canvas實(shí)現(xiàn)二次貝塞爾曲線

    基于js Canvas實(shí)現(xiàn)二次貝塞爾曲線

    這篇文章主要為大家詳細(xì)介紹了基于js Canvas實(shí)現(xiàn)二次貝塞爾曲線,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12

最新評(píng)論

克什克腾旗| 临泽县| 东明县| 会昌县| 任丘市| 京山县| 子长县| 台安县| 新郑市| 南丰县| 博爱县| 平湖市| 邵武市| 满洲里市| 九江市| 龙口市| 石城县| 漳平市| 镶黄旗| 瓦房店市| 林甸县| 盐池县| 吐鲁番市| 南宁市| 仪征市| 青海省| 邛崃市| 肥城市| 镇沅| 饶平县| 西盟| 怀化市| 宜兰县| 田阳县| 晋城| 仁寿县| 承德市| 句容市| 湘潭市| 青川县| 盐池县|