jQuery教程 3种jQuery控制TR显示隐藏的常用方法
沉沙 2018-06-14 来源 : 阅读 1325 评论 0

摘要:本篇jQuery教程讲解了3种jQuery控制TR显示隐藏的常用方法,希望阅读本篇文章以后大家有所收获,帮助大家对jQuery的理解更加深入。

网上有很多,这里介绍三种:

第一种方法,就是使用id,这个方法可以在生成html的时候动态设置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个数
$("#tr_"+i).hide();
}

第二种方法,是使用$.each(),这个方法需要设置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>这行要隐藏</td></tr>
<tr><td>这行要隐藏</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()方法
}

就这么简单。如果是要显示的话,把相应的方法改成show()或者display属性改为”"即可

实际应用:

说明:默认情况下,只显示“对应页面名称”所在行,当点击单选按钮时,显示不同的行。

<tr>
<td><label for="f_navname">对应页面链接<font color="red">*</font></label></td>
<td>
<input type="radio" id="f_inner" name="f_navState" value="1" checked="checked" /><label for="f_inner">内部链接</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><label for="f_pagename">对应页面名称</label></td>
<td><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><label for="f_navname">外部链接</label></td>
<td><input type="text" 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();
}
 
}
});
/

     

本文由职坐标整理发布,学习更多的jQuery相关知识,请关注职坐标WEB前端jQuery频道!


本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程