首頁 >web前端 >js教程 >jQuery控制TR顯示隱藏的幾種方法_jquery

jQuery控制TR顯示隱藏的幾種方法_jquery

WBOY
WBOY原創
2016-05-16 16:43:561552瀏覽

網路上有很多,這裡介紹三種: 第一種方法,就是使用id,這個方法可以在生成html的時候動態設定tr的id,也是用得最多最簡單的一種,如下:

  <table><tbody><tr><td>这行不隐藏</td></tr><tr id="tr_1"><td>这行要隐藏</td></tr><tr id="tr_2"><td>这行要隐藏</td></tr></tbody></table> 

那麼控制顯隱可以直接使用

  for(var i = 1; i < tr_len; i++){ //tr_len是要控制的tr个数  
       $("#tr_"+i).hide();  
  } 

第二種方法,是使用$.each(),這個方法需要設定table的id,如下:

  <table id="Tbl"><tbody><tr><td>这行不隐藏</td></tr><tr><td>这行要隐藏</td></tr><tr><td>这行要隐藏</td></tr></tbody></table> 

那麼控制顯隱可以直接使用

  $.each($("#Tbl tr"), function(i){   
     if(i > 0){    
        this.style.display = 'none';  
     }  
  }); 

第三種方法,是透過屬性篩選器,這個方法需要為tr加上某個特定屬性,例如class,如下:

  <table id="Tbl"><tbody><tr><td>这行不隐藏</td></tr><tr><td class="hid">这行要隐藏</td></tr><tr><td class="hid">这行要隐藏</td></tr></tbody></table> 

那麼控制顯隱可以直接使用

  var trs = $("tr[class='hid']");  
  for(i = 0; i < trs.length; i++){   
      trs[i].style.display = "none"; //这里获取的trs[i]是DOM对象而不是jQuery对象,因此不能直接使用hide()方法  
  } 

就這麼簡單。如果是要顯示的話,把對應的方法改成show()或display屬性改為」"即可實際套用: 說明:預設情況下,只顯示「對應頁面名稱」所在行,當點選單選按鈕時,顯示不同的行。

  <tr></tr> 
  <td class="tr_title_edit"></td><label for="f_navname">对应页面链接<font color="#ff0000">*</font></label> 
  <td class="tr_content_edit"></td> 
  <input id="f_inner" checked="checked" type="radio" name="f_navState" value="1" /><label for="f_inner">内部链接</label> 
  <input id="f_outer" type="radio" name="f_navState" value="2" /><label for="f_outer">外部链接</label> 
   
   
  <tr id="il" style="display: block"></tr> 
  <td class="tr_title_edit"></td><label for="f_pagename">对应页面名称</label> 
  <td class="tr_content_edit"></td><select id="f_pageid" name="f_pageid"> <option value="" selected="selected"></option> <option value="">新闻</option> <option value="">通知</option></select> 
   
  <tr id="ol" style="display: none"></tr> 
  <td class="tr_title_edit"></td><label for="f_navname">外部链接</label> 
  <td class="tr_content_edit"></td><input id="f_outsidelink" class="inputLine" size="40" name="f_outsidelink" type="text" /> 
   

透過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(); 
           } 
             
        } 
        }); 
       //} 
    
   }); 
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn