Home > Article > Web Front-end > Three common methods for jQuery to control TR display and hide_jquery
There are many online, here are three types:
The first method is to use id. This method can dynamically set the id of tr when generating HTML. It is also the most commonly used and simplest method, as follows:
<table> <tr><td>这行不隐藏</td></tr> <tr id="tr_1"><td>这行要隐藏</td></tr> <tr id="tr_2"><td>这行要隐藏</td></tr> ... </table>
Then the control of visibility can be used directly
for(var i = 1; i < tr_len; i++){ //tr_len是要控制的tr个数 $("#tr_"+i).hide(); }
The second method is to use $.each(). This method requires setting the id of the table, as follows:
<table id="Tbl"> <tr><td>这行不隐藏</td></tr> <tr><td>这行要隐藏</td></tr> <tr><td>这行要隐藏</td></tr> ... </table>
Then the control of visibility can be used directly
$.each($("#Tbl tr"), function(i){ if(i > 0){ this.style.display = 'none'; } });
The third method is through the attribute filter. This method requires adding a specific attribute to tr, such as class, as follows:
<table id="Tbl"> <tr><td>这行不隐藏</td></tr> <tr><td class="hid">这行要隐藏</td></tr> <tr><td class="hid">这行要隐藏</td></tr> ... </table>
Then the control of visibility can be used directly
var trs = $("tr[class='hid']"); for(i = 0; i < trs.length; i++){ trs[i].style.display = "none"; //这里获取的trs[i]是DOM对象而不是jQuery对象,因此不能直接使用hide()方法 }
It’s that simple. If you want to display it, change the corresponding method to show() or change the display attribute to ""
Practical application:
Note: By default, only the row containing the "corresponding page name" is displayed. When the radio button is clicked, different rows are displayed.
<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>
Control hiding and display by id as follows:
$("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(); } } }); //} });