Javascript 显示';。隐藏的';使用JQUERY的元素

Javascript 显示';。隐藏的';使用JQUERY的元素,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有以下asp和HTML代码: <asp:Repeater ID="PervousResultsList" runat="server" EnableViewState="False"> <ItemTemplate> <div class="row1"> <table style="cursor: pointer; width: 100%">

我有以下asp和HTML代码:

 <asp:Repeater ID="PervousResultsList" runat="server" EnableViewState="False">
        <ItemTemplate>
            <div class="row1">
                <table style="cursor: pointer; width: 100%">
                    <tr>
                        <td rowspan="4">
                            <asp:Image ID="Image1" ImageUrl="~/Images/pushpinred.png" runat="server" Width="32"
                                Height="32" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td></td>
                        <td rowspan="7">
                             <input type="button" class="toggleRow" value="B" style="height: 30px; position: relative; float: left;" />
                        </td>
                    </tr>
                    <tr>
                        <td>text:</td>
                        <td rowspan="4">
                            <h1 style="color: gray"><%# Eval("Text") %></h1>
                        </td>
                    </tr>
                    <tr class="hidden">
                        <td>text:</td>
                        <td><%# Eval("Text") %></td>
                    </tr>
                    <tr class="hidden">
                        <td>X:</td>
                        <td><%# Eval("Lon") %></td>
                    </tr>
                    <tr class="hidden">
                        <td>Y:</td>
                        <td><%# Eval("Lat") %></td>
                    </tr>
                    <tr>
                </table>
            </div>
        </ItemTemplate>      
    </asp:Repeater>
当batten with class toggleRow单击javascript时,我没有得到任何结果(即,我希望显示隐藏行,但不显示隐藏行)


你知道为什么吗?

因为你有一个
表和
tr
,即使你没有创建
tbody
,浏览器会把所有
tr
元素放在
tbody
中,所以你的选择器
$(this.closest('table')。children('hidden').show()将无法找到
tr
作为able的子级

所以试试看

$(this).closest('table').find('tr.hidden').show();
您还必须将
toggleRow
类添加到按钮中

<input type="button" id="btnToggleRow" value="B" style="height: 30px; position: relative; float: left;" class="toggleRow"/>

要显示隐藏的行,请在代码下方使用

$('.toggleRow').on('click', function () {
    $('.hidden').css("display","block");
    return false;
});

试试
$('tr').toggleClass('.hidden')也许我遗漏了一些东西,但我在代码中没有看到任何带有toggleRow类的元素!如果你指的是这个
#btntoglerow
按钮,你的点击是错误的。@JeanRAKOTO我升级了代码我不明白为什么我要用tr.hidden而不是.hidden?你能更恰当地解释一下吗?@Michael可能有一个隐藏类的隐藏输入,如果你不这样指定
tr.hidden
,它会显示出来,只有tr和类隐藏将显示您可以删除tr.hidden中的tr。这只是为了更具体一些。真正的问题在于children函数。替换为查找。
$('.toggleRow').on('click', function () {
    $('.hidden').css("display","block");
    return false;
});