jQuery操作Table技巧大匯總
本文匯總了jQuery操作Table的技巧。分享給大家供大家參考,具體如下:
1.鼠標(biāo)移動(dòng)行變色
方法一:jQuery中的hover(fun(),fun())方法,參數(shù)一:第一個(gè)方法是添加樣式功能,參數(shù)二:第二個(gè)方法是取消樣式功能
$("#table1 tr").hover(function(){
$(this).children("td").addClass("hover")
},function(){
$(this).children("td").removeClass("hover")
})
方法二:
$("#table1 tr:gt(0)").hover(function() {
$(this).children("td").addClass("hover");
}, function() {
$(this).children("td").removeClass("hover");
});
2.奇偶行不同顏色
$("#table1 tbody tr:odd").css("background-color", "#bbf");
$("#table1 tbody tr:even").css("background-color","#ffc");
$("#table1 tbody tr:odd").addClass("odd")
$("#table1 tbody tr:even").addClass("even")
3.隱藏一行
4.隱藏一列
方法一:
方法二:
5.刪除一行
//刪除除第一行外的所有行
$("#table1 tr:not(:first)").remove();
//刪除指定行
$("#table1 tr:eq(3)").remove();
6.刪除一列
//刪除除第一列外的所有列
$("#table1 tr th:not(:nth-child(1))").remove();
$("#table1 tr td:not(:nth-child(1))").remove();
//刪除第一列
$("#table1 tr td::nth-child(1)").remove();
7.得到(設(shè)置)某個(gè)單元格的值
//設(shè)置table1,第2個(gè)tr的第一個(gè)td的值。
$("#table1 tr:eq(1) td:nth-child(1)").html("value");
//獲取table1,第2個(gè)tr的第一個(gè)td的值。
$("#table1 tr:eq(1) td:nth-child(1)").html();
8.插入一行:
//在第二個(gè)tr后插入一行
$("<tr><td>插入3</td><td>插入</td><td>插入</td><td>插入</td></tr>").insertAfter($("#table7 tr:eq(1)"));
9、獲取每一行指定的單元格的值
var arr = [];
$("#table1 tr td:nth-child(1)").each(function (key, value) {
arr.push($(this).html());
});
var result = arr.join(',');
10、全選或全不選
//方法一:
//全選或全不選 此傳入的參數(shù)為event 如:checkAll(event)
function checkAll(evt)
{
evt=evt?evt:window.event;
var chall=evt.target?evt.target:evt.srcElement;
var tbl=$("#table1");
var trlist=tbl.find("tr");
for(var i=1;i<trlist.length;i++)
{
var tr=$(trlist[i]);
var input=tr.find("INPUT[type='checkbox']");
input.attr("checked",chall.checked);
}
}
//方法二:
//全選或全不選 此傳入的參數(shù)為this 如:checkAll(this)
function checkAll(evt)
{
var tbl=$("#table1");
var trlist=tbl.find("tr");
for(var i=1;i<trlist.length;i++)
{
var tr=$(trlist[i]);
var input=tr.find("INPUT[type='checkbox']");
input.attr("checked",evt.checked);
}
}
//方法三:
//全選或全不選 此傳入的參數(shù)為this 如:checkAll(this)
function checkAll(evt)
{
$("#table1 tr").find("input[type='checkbox']").each(function(i){
$(this).attr("checked",evt.checked)
});
}
//方法四:
//全選或全不選 此傳入的參數(shù)為this 如:checkAll(this)
function checkAll(evt)
{
$("#table1 tr").find("input[type='checkbox']").attr("checked",evt.checked);
}
11、客戶端動(dòng)態(tài)添加行、刪除行
function btnAddRow()
{
//行號(hào)是從0開(kāi)始,最后一行是新增、刪除、保存按鈕行 故減去2
var rownum=$("#table1 tr").length-2;
var chk="<input type='checkbox' id='chk_"+rownum+"' name='chk_"+rownum+"'/>";
var text="<input type='text' id='txt_"+rownum+"' name='txt_"+rownum+"' width='75px'/>";
var sel="<select id='sel_"+rownum+"'><option value='1'>男</option><option value='0'>女</option></select>";
var row="<tr><td>"+chk+"</td><td>"+text+"</td><td>"+sel+"</td><td>"+text+"</td><td>"+text+"</td></tr>";
$(row).insertAfter($("#table1 tr:eq("+rownum+")"));
}
//客戶端刪除一行
//每次只能刪除一行,刪除多行時(shí)出錯(cuò)
function btnDeleteRow()
{
$("#table1 tr").find("input[type='checkbox']").each(function(i){
if($(this).attr("checked"))
{
if(i!=0)//不能刪除行標(biāo)題
{
$("#table1 tr:eq("+i+")").remove();
}
}
});
}
//這個(gè)比上面的要好,可以一下刪除多個(gè)記錄
function btnDeleteRow()
{
$("#table1 tr").each(function(i){
var chk=$(this).find("input[type='checkbox']");
if(chk.attr("id")!="checkall")//不能刪除標(biāo)題行
{
if(chk.attr("checked"))
{
$(this).remove();
}
}
});
}
//客戶端保存
function btnSaveClick()
{
//find()方法中我暫時(shí)不知道如何設(shè)定多個(gè)篩選條件,所以下面得不到select列表的值
//$("#table1 tr td").find("input[type='text']" || "select").each(function(i){
//alert($(this).val());
//});
$("#table1 tr").find("td").each(function(i){
if($(this).find("input[type='text']").length>0)
{
alert($(this).find("input[type='text']").val());
}
else if($(this).find("select").length>0)
{
alert($(this).find("select").val());
}
});
}
<style type="text/css">
.hover
{
background-color:red;
}
</style>
<table id="table1" border="1" cellpadding="0" cellspacing="0">
<tr>
<th>
<input type="checkbox" id="checkall" onclick="checkAll1(this)"/>
</th>
<th>姓名</th>
<th>性別</th>
<th>密碼</th>
<th>地址</th>
</tr>
<tr>
<td>
<input type="checkbox" id="Checkbox1" />
</td>
<td>張三</td>
<td>男</td>
<td>zhangsan</td>
<td>上海</td>
</tr>
<tr>
<td>
<input type="checkbox" id="Checkbox2" />
</td>
<td>李四</td>
<td>男</td>
<td>lisi</td>
<td>安慶</td>
</tr>
<tr>
<td>
<input type="checkbox" id="Checkbox3" />
</td>
<td>王五</td>
<td>男</td>
<td>beijing</td>
<td>北京</td>
</tr>
<tr>
<td>
<input type="checkbox" id="Checkbox4" />
</td>
<td>無(wú)名氏</td>
<td>女</td>
<td>wumingshi</td>
<td>上海</td>
</tr>
<tr>
<td>
<input type="checkbox" id="Checkbox5" />
</td>
<td>趙老師</td>
<td>男</td>
<td>zhaolaoshi</td>
<td>浙江</td>
</tr>
<tr>
<td colspan="5" align="center">
<input type="button" id="btnAdd" runat="server" value="新增" onclick="btnAddRow()" />
<input type="button" id="btnDelete" runat="server" value="刪除" onclick="btnDeleteRow()" />
<input type="button" id="btnSave" runat="server" value="保存" onclick="btnSaveClick()" />
</td>
</tr>
</table>
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
相關(guān)文章
jQuery操作元素的內(nèi)容和樣式完整實(shí)例分析
這篇文章主要介紹了jQuery操作元素的內(nèi)容和樣式,結(jié)合完整實(shí)例形式分析了jquery針對(duì)頁(yè)面元素內(nèi)容與樣式相關(guān)操作技巧,需要的朋友可以參考下2020-01-01
jQuery實(shí)現(xiàn)新聞播報(bào)滾動(dòng)及淡入淡出效果示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)新聞播報(bào)滾動(dòng)及淡入淡出效果,結(jié)合實(shí)例形式分析了基于jQuery插件的頁(yè)面元素動(dòng)態(tài)變換相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
jQuery使用$.ajax進(jìn)行即時(shí)驗(yàn)證實(shí)例詳解
這篇文章主要介紹了jQuery使用$.ajax進(jìn)行即時(shí)驗(yàn)證的方法,以完整實(shí)例形式較為詳細(xì)的分析了jQuery前臺(tái)控制ajax交互與后臺(tái)asp.net響應(yīng)處理的詳細(xì)實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-12-12
純jquery實(shí)現(xiàn)模仿淘寶購(gòu)物車結(jié)算
在淘寶購(gòu)物,需要把商品加入購(gòu)車,其中包含全選、單選金額改變,當(dāng)增加商品時(shí)金額也會(huì)相應(yīng)的發(fā)生變化,下面通過(guò)本文給大家分享純jquery實(shí)現(xiàn)模仿淘寶購(gòu)物車結(jié)算,需要的朋友可以參考下2015-08-08
Jquery Ajax Error 調(diào)試錯(cuò)誤的技巧
jquery在程序開(kāi)發(fā)ajax應(yīng)用程序時(shí)提高了效率,減少了需要兼容性的問(wèn)題,當(dāng)我們?cè)赼jax項(xiàng)目中,遇到ajax異步獲取數(shù)據(jù)出錯(cuò)該怎么解決呢,我們可以通過(guò)捕捉error事件來(lái)獲取出錯(cuò)的信息,本文給大家介紹jquery ajax error調(diào)試錯(cuò)誤的技巧,感興趣的朋友一起學(xué)習(xí)吧2015-11-11
基于jQuery實(shí)現(xiàn)仿微博發(fā)布框字?jǐn)?shù)提示
這篇文章主要為大家詳細(xì)介紹了基于jQuery實(shí)現(xiàn)仿微博發(fā)布框字?jǐn)?shù)提示的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07
jQuery簡(jiǎn)單動(dòng)畫(huà)變換效果實(shí)例分析
這篇文章主要介紹了jQuery簡(jiǎn)單動(dòng)畫(huà)變換效果,結(jié)合實(shí)例形式分析了jQuery使用toggle及animate等方法動(dòng)態(tài)操作頁(yè)面元素樣式的相關(guān)技巧,需要的朋友可以參考下2016-07-07

