jQuery控制TR顯示隱藏的三種常用方法
網(wǎng)上有很多,這里介紹三種:
第一種方法,就是使用id,這個方法可以在生成html的時候動態(tài)設(shè)置tr的id,也是用得最多最簡單的一種,如下:
<table> <tr><td>這行不隱藏</td></tr> <tr id="tr_1"><td>這行要隱藏</td></tr> <tr id="tr_2"><td>這行要隱藏</td></tr> ... </table>
那么控制顯隱可以直接使用
for(var i = 1; i < tr_len; i++){ //tr_len是要控制的tr個數(shù) $("#tr_"+i).hide(); }
第二種方法,是使用$.each(),這個方法需要設(shè)置table的id,如下:
<table id="Tbl"> <tr><td>這行不隱藏</td></tr> <tr><td>這行要隱藏</td></tr> <tr><td>這行要隱藏</td></tr> ... </table>
那么控制顯隱可以直接使用
$.each($("#Tbl tr"), function(i){ if(i > 0){ this.style.display = 'none'; } });
第三種方法,是通過屬性篩選器,這個方法需要給tr加上某個特定屬性,比如class,如下:
<table id="Tbl"> <tr><td>這行不隱藏</td></tr> <tr><td class="hid">這行要隱藏</td></tr> <tr><td class="hid">這行要隱藏</td></tr> ... </table>
那么控制顯隱可以直接使用
var trs = $("tr[class='hid']"); for(i = 0; i < trs.length; i++){ trs[i].style.display = "none"; //這里獲取的trs[i]是DOM對象而不是jQuery對象,因此不能直接使用hide()方法 }
就這么簡單。如果是要顯示的話,把相應(yīng)的方法改成show()或者display屬性改為”"即可
實際應(yīng)用:
說明:默認情況下,只顯示“對應(yīng)頁面名稱”所在行,當(dāng)點擊單選按鈕時,顯示不同的行。
<tr> <td class="tr_title_edit"><label for="f_navname">對應(yīng)頁面鏈接<font color="red">*</font></label></td> <td class="tr_content_edit"> <input type="radio" id="f_inner" name="f_navState" value="1" checked="checked" /><label for="f_inner">內(nèi)部鏈接</label> <input type="radio" id="f_outer" name="f_navState" value="2" /><label for="f_outer">外部鏈接</label></td> </tr> <tr id="il" style="display:block"> <td class="tr_title_edit"><label for="f_pagename">對應(yīng)頁面名稱</label></td> <td class="tr_content_edit"><select name='f_pageid' id="f_pageid"> <option value=""></option> <option value="">新聞</option> <option value="">通知</option> </select></td> </tr> <tr id="ol" style="display:none"> <td class="tr_title_edit"><label for="f_navname">外部鏈接</label></td> <td class="tr_content_edit"><input type="text" class="inputLine" size="40" id="f_outsidelink" name="f_outsidelink" /></td> </tr>
通過id控制隱藏和顯示如下:
$("input[name='f_navState']").click(function(){ //if($("input[name='f_navState']").attr("checked")==true){ $("input[name='f_navState']").each(function(i){ if(this.checked){ var f_navState = $("input[name='f_navState']")[i].value; //獲得單選框的值 if(f_navState==1){ //alert(123); $("#il").show(); $("#ol").hide(); }else{ //alert(456); $("#ol").show(); $("#il").hide(); } } }); //} });
相關(guān)文章
jquery.alert 彈出式復(fù)選框?qū)崿F(xiàn)代碼
jquery alert 彈出式 復(fù)選框,需要的朋友可以參考下,代碼有點亂。2009-06-06jQuery height()、innerHeight()、outerHeight()函數(shù)的區(qū)別詳解
這篇文章主要介紹了jQuery height()、innerHeight()、outerHeight()函數(shù)的區(qū)別詳解,需要的朋友可以參考下2016-05-05Jquery+CSS 創(chuàng)建流動導(dǎo)航菜單 Fluid Navigation
有時,一個網(wǎng)站的導(dǎo)航菜單文字不能提供足夠的信息,來表達當(dāng)前菜單按鈕的內(nèi)容,一般的解決辦法是使用提示信息ToolTip,那么本文介紹的流動導(dǎo)航菜單Fluid Navigation也可以解決此問題,同時也為網(wǎng)站設(shè)計的添加了一些時尚而又動感元素。2010-02-02jquery實現(xiàn)省市select下拉框的替換(示例代碼)
本篇文章主要是對jquery實現(xiàn)省市select下拉框的替換(示例代碼)進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02jQuery基礎(chǔ)學(xué)習(xí)技巧總結(jié)
jQuery基礎(chǔ)學(xué)習(xí)技巧總結(jié)...2007-06-06jquery判斷checkbox(復(fù)選框)是否被選中的代碼
現(xiàn)在很多朋友都喜歡使用jquery了,所以很多的表格判斷都是基于jquery的,但實現(xiàn)方法與javascript原生代碼不同,對于checkbox的判斷大家可以參考下。2010-10-10