jQuery控制TR显示隐藏

来源:互联网 发布:2016淘宝开店流程 编辑:程序博客网 时间:2024/05/20 18:52

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

?
1
2
3
4
5
6
<table>
<tr><td>这行不隐藏</td></tr>
<trid="tr_1"><td>这行要隐藏</td></tr>
<trid="tr_2"><td>这行要隐藏</td></tr>
...
</table>

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

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

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

?
1
2
3
4
5
6
<table id="Tbl">
<tr><td>这行不隐藏</td></tr>
<tr><td>这行要隐藏</td></tr>
<tr><td>这行要隐藏</td></tr>
...
</table>

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

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

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

?
1
2
3
4
5
6
<table id="Tbl">
<tr><td>这行不隐藏</td></tr>
<tr><td class="hid">这行要隐藏</td></tr>
<tr><td class="hid">这行要隐藏</td></tr>
...
</table>

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

?
1
2
3
4
vartrs = $("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
15
16
17
18
19
<tr>
<tdclass="tr_title_edit"><labelfor="f_navname">对应页面链接<fontcolor="red">*</font></label></td>
<tdclass="tr_content_edit">
<inputtype="radio"id="f_inner"name="f_navState"value="1"checked="checked"/><labelfor="f_inner">内部链接</label>
<inputtype="radio"id="f_outer"name="f_navState"value="2"/><labelfor="f_outer">外部链接</label></td>
</tr>
 
<trid="il"style="display:block">
<tdclass="tr_title_edit"><labelfor="f_pagename">对应页面名称</label></td>
<tdclass="tr_content_edit"><selectname='f_pageid'id="f_pageid">
<optionvalue=""></option>
<optionvalue="">新闻</option>
<optionvalue="">通知</option>
</select></td>
</tr>
<trid="ol"style="display:none">
<tdclass="tr_title_edit"><labelfor="f_navname">外部链接</label></td>
<tdclass="tr_content_edit"><inputtype="text"class="inputLine"size="40"id="f_outsidelink"name="f_outsidelink"/></td>
</tr>

通过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){
varf_navState = $("input[name='f_navState']")[i].value;//获得单选框的值
if(f_navState==1){
//alert(123);
$("#il").show();
$("#ol").hide();
}else{
//alert(456);
$("#ol").show();
$("#il").hide();
}
 
}
});
//}
 
});
0 0
原创粉丝点击