jQuery控制TR显示隐藏的几种方法

内容摘要
网上有很多,这里介绍三种: 第一种方法,就是使用id,这个方法可以在生成html的时候动态设置tr的id,也是用得最多最简单的一种,如下:


这行不隐藏这行要隐藏这行要隐藏


那么控制
文章正文

网上有很多,这里介绍三种: 第一种方法,就是使用id,这个方法可以在生成html的时候动态设置tr的id,也是用得最多最简单的一种,如下:

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

那么控制显隐可以直接使用

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

第二种方法,是使用$.each(),这个方法需要设置table的id,如下:

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

那么控制显隐可以直接使用

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

第三种方法,是通过属性筛选器,这个方法需要给tr加上某个特定属性,比如class,如下:

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

那么控制显隐可以直接使用

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

就这么简单。如果是要显示的话,把相应的方法改成show()或者display属性改为”"即可 实际应用: 说明:默认情况下,只显示“对应页面名称”所在行,当点击单选按钮时,显示不同的行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<label for="f_navname">对应页面链接<font color="#ff0000">*</font></label>
  
<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>
  
  
  
<label for="f_pagename">对应页面名称</label>
<select id="f_pageid" name="f_pageid"> <option value="" selected="selected"></option> <option value="">新闻</option> <option value="">通知</option></select>
  
  
<label for="f_navname">外部链接</label>
<input id="f_outsidelink" class="inputLine" size="40" name="f_outsidelink" type="text">

通过id控制隐藏和显示如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$("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();
         }
            
      }
      });
     //}
   
 });

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!