asp.net如何在 jquery 中查找表的下一个单元格

标签: Asp.net jQuery HTML
发布时间: 2017/3/26 4:48:14
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

行中有两个单元格和第一个单元格有表下, 一个单元格按钮。在下一个单元格如何可以找到一个按钮。

每个行的最后一个单元中的所有按钮都具有相同的 id,所以我需要要么找出最后一个单元格在当前行或当前单元格旁边挨着。

我想如果任何当前单元格的复选框被勾选启用按钮。

<table>
        <tr>
            <td>
                <table>
                    <tr>
                        <td><input id="Checkbox1" type="checkbox" /></td>
                        <td><input id="Checkbox2" type="checkbox" /></td>
                    </tr>
                </table> 
            </td>
            <td><input id="Button1" type="button" value="button" /></td>
        </tr>

        <tr>
            <td>
                <table>
                    <tr>
                        <td><input id="Checkbox1" type="checkbox" /></td>
                        <td><input id="Checkbox2" type="checkbox" /></td>
                    </tr>
                </table> 
            </td>
            <td><input id="Button1" type="button" value="button" /></td>
        </tr>
    </table>

解决方法 1:

首先,Id 必须是唯一的文档中否则是无效的文档。如果你将一个 ID 选择器传递到 jQuery 或使用 document.getElementById() 函数选择只有第一个匹配元素。

获得 input[type=button] 元你可以遍历了祖先的复选框,并选择包装 td 使用 .closest() 方法,然后选择下一个单元格使用的子代按钮 .next().find() 方法︰

$('input[type=checkbox]').on('change', function() {
   var button = $(this.parentNode.parentNode)
                    .closest('td')
                    .next()
                    .find('input[type=button]');
});

上面的代码段使用 this.parentNode.parentNode 选择 tr 祖父的复选框。原因是,jQuery closest 方法从测试当前元素。 $(this).closest('td') 返回 td 父和 $(this.parentNode) 返回当前 td 本身。

官方微信
官方QQ群
31647020