jquery里操作table表格的各種方法


 

<!doctype html>
<html lang="en">
<head>
<title>jquery里操作table相關的各種方法在線演示-aijQuery.cn</title>
<script src="/static/jquery-3.1.1.min.js"></script>
  <style type="text/css">
    .on {background-color:#ddd}
  </style>
</head>
<body style="text-align:center"><div class="m-1"></div>
  <h3>jquery操作table的各種方法</h3><div class="m-2"></div>
<table id="aijquery" border="1" cellpadding="7" cellspacing="0" align="center">
    <tr><td>測試1.1</td><td>測試1.2</td><td>測試1.3</td><td>測試1.4</td><td>測試1.5</td><td>測試1.6</td></tr>
    <tr><td>測試2.1</td><td>測試2.2</td><td>測試2.3</td><td>測試2.4</td><td>測試2.5</td><td>測試2.6</td></tr>
    <tr><td>測試3.1</td><td>測試3.2</td><td>測試3.3</td><td>測試3.4</td><td>測試3.5</td><td>測試3.6</td></tr>
    <tr><td>測試4.1</td><td>測試4.2</td><td>測試4.3</td><td>測試4.4</td><td>測試4.5</td><td>測試4.6</td></tr>
    <tr><td>測試5.1</td><td>測試5.2</td><td>測試5.3</td><td>測試5.4</td><td>測試5.5</td><td>測試5.6</td></tr>
</table><div class="m-2"></div>
  <button id="huanse">鼠標經過時換色</button> <button id="jiou">奇偶行不同顏色</button> <button id="addtr">插入一行</button> <button id="addtd">插入一列</button><div class="m-1"></div>
  <button id="hidetr">隱藏/顯示第三行</button>
  <button id="hidetd">隱藏/顯示第三列</button>
  <div class="m-1"></div>
  <button id="deltr">刪除第四行</button>
  <button id="deltd">刪除第五列</button>
  <button id="deltrt">刪除第二行外所有行</button>
  <button id="deltrd">刪除第2到第4行</button>
  <div class="m-1"></div>
  <button id="deltrs">只留前三行</button>
  <button id="deltrf">只留第二到第四行</button>
  <div class="m-1"></div>
  <button id="readtd">讀取第三行第四列的值</button>
  <button id="readtdt">讀取第三列所有值</button>
  <button id="readtr">讀取第三行所有值</button>
<script language="javascript">
//鼠標經過換色
$("#huanse").on("click",function(){
    $("#aijquery tr").hover(function(){$(this).children("td").addClass("on");},function(){$(this).children("td").removeClass("on")});
});
//奇偶行不同顏色
$("#jiou").on("click",function(){
    //偶數行 奇數行的話 odd改為even
    $("#aijquery tr:odd").find("td").css("background-color","#e7ffff");
});
//插入一行
$("#addtr").on("click",function(){
    //在表格的末尾添加一行
    //$("#aijquery").append('<tr><td>new</td><td>new</td><td>new</td><td>new</td><td>new</td><td>new</td></tr>');
    //在表格的開頭添加一行
    //$("#aijquery").prepend('<tr><td>new</td><td>new</td><td>new</td><td>new</td><td>new</td><td>new</td></tr>');
     //在表格的第二行后面插入一行
      $("#aijquery tr").eq(1).after('<tr><td>new</td><td>new</td><td>new</td><td>new</td><td>new</td><td>new</td></tr>');
});
//插入一列
$("#addtd").on("click",function(){
   //在表格的末尾添加一列
   //$("#aijquery tr").append('<td>newTD</td>');
   //在表格的開頭添加一列
   //$("#aijquery tr").prepend('<td>newTD</td>');
   //在表格的第二列后添加一列
   $("#aijquery tr td:nth-child(2)").after('<td>newTD</td>');
});
//隱藏/顯示第三行
$("#hidetr").on("click",function(){
    $("#aijquery tr").eq(2).toggle();
});
//隱藏/顯示第三列
$("#hidetd").on("click",function(){
    //第一種方法
    //$("#aijquery tr td:nth-child(3)").toggle();
    //第二種方法
    $("#aijquery tr").each(function(){
        //$(this).find("td").eq(2).toggle();
        $("td",$(this)).eq(2).toggle();
    });
});
//刪除第四行
$("#deltr").on("click",function(){
    $("#aijquery tr").eq(3).remove();
});
//刪除第五列
$("#deltd").on("click",function(){
    $("#aijquery tr td:nth-child(5)").remove();
});
//刪除第二行外所有行
$("#deltrt").on("click",function(){
    $("#aijquery tr:not(:eq(1))").remove();
});
//只留前三行
$("#deltrs").on("click",function(){
    $("#aijquery tr:gt(2)").remove();
});
//刪除第2到第4行
$("#deltrd").on("click",function(){
    $("#aijquery tr").slice(1,4).remove();
});
//只留第二到第四行
$("#deltrf").on("click",function(){
    $("#aijquery tr").not($("#aijquery tr").slice(1,4)).remove();
});
//讀取第三行第四列的值
$("#readtd").on("click",function(){
    var v=$("#aijquery tr:eq(2) td:eq(3)").html();
      alert(v);
});
//讀取第三列所有值
$("#readtdt").on("click",function(){
      var arr=[];
    $("#aijquery tr").each(function(){
        arr.push($(this).find("td").eq(2).html());
    });
      alert(arr.join(","));
});
//讀取第三行所有值
$("#readtr").on("click",function(){
      var arr=[];
    $("#aijquery tr:eq(2) td").each(function(){
        arr.push($(this).html());
    });
      alert(arr.join(","));
});
</script>
</body>
</html>
測試代碼

 

下面是上面這個在線實例的截圖:


1.鼠標經過時換色:

1
2
3
4
5
$( "#table tr" ).hover( function (){
     $( this ).children( "td" ).addClass( "on" );
}, function (){
     $( this ).children( "td" ).removeClass( "on" )
});


2.奇偶行不同顏色:

1
2
//偶數行 奇數行的話 odd改為even
$( "#table tr:odd" ).find( "td" ).css( "background-color" , "#e7ffff" );


3.動態插入一行:

1
2
3
4
5
6
//在表格的末尾添加一行   
$( "#table" ).append( '<tr><td>new</td><td>new</td></tr>' );    
//在表格的開頭添加一行    
$( "#table" ).prepend( '<tr><td>new</td><td>new</td></tr>' ); 
//在表格的第二行后面插入一行  
$( "#table tr" ).eq(1).after( '<tr><td>new</td><td>new</td></tr>' );


4.動態插入一列:

1
2
3
4
5
6
//在表格的末尾添加一列   
$( "#table tr" ).append( '<td>newTD</td>' );   
//在表格的開頭添加一列   
$( "#table tr" ).prepend( '<td>newTD</td>' );   
//在表格的第二列后添加一列   
$( "#table tr td:nth-child(2)" ).after( '<td>newTD</td>' );


5.顯示/隱藏第三行:

1
2
3
4
5
6
//切換第三行的狀態 如果隱藏則顯示 如果處在顯示狀態則隱藏
$( "#table tr" ).eq(2).toggle();
//隱藏
$( "#table tr" ).eq(2).hide();
//顯示
$( "#table tr" ).eq(2).show();


6.顯示/隱藏第三列:

1
2
3
4
5
6
7
8
9
10
//第一種方法
$( "#table tr td:nth-child(3)" ).toggle();
     
//第二種方法    
$( "#table tr" ).each( function (){ 
     //第一種寫法     
     $( this ).find( "td" ).eq(2).toggle();
     //第二種寫法        
     $( "td" ,$( this )).eq(2).toggle();    
});


7.刪除第四行:

1
$( "#table tr" ).eq(3).remove();


8.刪除第五列:

1
$( "#table tr td:nth-child(5)" ).remove();


9.只留前三行,其它刪除:

1
$( "#table tr:gt(2)" ).remove();


10.刪除第2行外所有行:

1
$( "#table tr:not(:eq(1))" ).remove();


11.刪除第2到第4行:

1
$( "#table tr" ).slice(1,4).remove();


12.只保留第2到第4行,其它全刪除:

1
$( "#table tr" ).not($( "#table tr" ).slice(1,4)).remove();


13.讀取第3行第4列的值:

1
var  v=$( "#table tr:eq(2) td:eq(3)" ).html();


14.讀取第3列所有的值:

1
2
3
4
5
var  arr=[];   
$( "#table tr" ).each( function (){       
     arr.push($( this ).find( "td" ).eq(2).html());    
});  
alert(arr.join( "," ));


15.讀取第3行所有的值:

1
2
3
4
5
var  arr=[];   
$( "#table tr:eq(2) td" ).each( function (){     
     arr.push($( this ).html());    
});  
alert(arr.join( "," ));
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM