jQuery控制TR显示隐藏的三种常用方法

 更新时间:2014年08月21日 11:13:52   投稿:whsnow  
第一种方法是使用id,第二种方法是使用$.each(),第三种方法是通过属性筛选器,还有很多,大家自家挖掘吧

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

第一种方法,就是使用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 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()方法 
}

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

实际应用:

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

<tr> 
<td class="tr_title_edit"><label for="f_navname">对应页面链接<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">内部链接</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">对应页面名称</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(); 
} 

} 
}); 
//} 

});

相关文章

  • jquery取消事件冒泡的三种方法(推荐)

    jquery取消事件冒泡的三种方法(推荐)

    下面小编就为大家带来一篇jquery取消事件冒泡的三种方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • addEventListener—jQuery的事件监听方法

    addEventListener—jQuery的事件监听方法

    在Javascript中,事件监听是非常重要的,通过事件监听,我们可以在用户执行某些操作时触发相应的处理程序。最初,Javascript监听事件的方式是addEvent。addEvent()比较麻烦,所以jQuery为我们提供了一个更为便捷的事件监听方法:addEventListener。
    2023-06-06
  • QRCode.js:基于JQuery的生成二维码JS库的使用

    QRCode.js:基于JQuery的生成二维码JS库的使用

    本篇文章主要介绍了QRCode.js:基于JQuery的生成二维码JS库的使用,具有一定的参考价值,有兴趣的同学可以了解一下
    2017-06-06
  • 真正的JQuery.ajax传递中文参数的解决方法

    真正的JQuery.ajax传递中文参数的解决方法

    许多人在使用JQuery.ajax方法时肯定会遇到一个问题。在编码不是UTF-8的时候,当传递的参数里有中文的时候,服务端Request的时候都会出现乱码。
    2011-05-05
  • jQuery实现移动端滑块拖动选择数字效果

    jQuery实现移动端滑块拖动选择数字效果

    这篇文章主要介绍了jQuery实现移动端滑块拖动选择数字效果,jQuery实现移动端滑块拖动效果,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • Jquery解析json字符串及json数组的方法

    Jquery解析json字符串及json数组的方法

    这篇文章主要介绍了Jquery解析json字符串及json数组的方法,实例分析了jQuery操作json格式字符串与数组的相关技巧,需要的朋友可以参考下
    2015-05-05
  • 基于jquery实现日历效果

    基于jquery实现日历效果

    这篇文章主要为大家详细介绍了基于jquery实现日历效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • jquery实现背景跟随鼠标滑动导航

    jquery实现背景跟随鼠标滑动导航

    这篇文章主要为大家详细介绍了jquery背景跟随鼠标滑动导航,特别美观,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • jQuery实现可拖拽的许愿墙效果【附demo源码下载】

    jQuery实现可拖拽的许愿墙效果【附demo源码下载】

    这篇文章主要介绍了jQuery实现可拖拽的许愿墙效果,可实现拖拽图片与层叠显示功能,涉及jQuery插件的简单使用,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2016-09-09
  • jquery实现ajax提交form表单的方法总结

    jquery实现ajax提交form表单的方法总结

    本篇文章主要是对jquery实现ajax提交form表单的方法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03

最新评论