显示' .hidden'使用JQUERY的元素

时间:2016-02-26 06:18:37

标签: javascript jquery asp.net

我有这个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>

Javascript代码:

        $('.toggleRow').on('click', function () {
            $(this).closest('table').children('.hidden').show();

            return false;
        });

当使用类toggleRow的batten点击了javascript被触发但我没有得到任何结果(即我希望显示隐藏的行但不显示)。

知道为什么吗?

2 个答案:

答案 0 :(得分:0)

由于您有tabletr,即使您没有创建tbody,浏览器也会将所有tr元素放入tbody,因此,您的选择器$(this).closest('table').children('.hidden').show();将无法找到tr作为能力的子女。

所以试试

$(this).closest('table').find('tr.hidden').show();

您还必须将toggleRow类添加到按钮

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

答案 1 :(得分:0)

要在代码下方显示隐藏的行。

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