如何使用jQuery定位表中同一行上的另一个元素

Zab*_*abs 0 javascript jquery dom

我正在尝试使用 jQuery 在表行中选择一个项目,该项目将在同一行内进行更改

<table>
<tr id="t1"><td><input type="checkbox" id="t1" value="" /></td></tr>
<tr id="t2"><td><input type="checkbox" id="t2" value="" /></td>{want new stuff here}</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

在这种情况下 - 如果我选择 id 为 2 的复选框 - 我希望在最后一个之后添加/附加一个新列,如果未选中该复选框,它将删除刚刚添加的内容。任何人都可以建议如何做到这一点?

kam*_*cus 5

确保您的id值在所有元素上都是唯一的,然后您可以使用.parents("tr")

$(".mytable tr :checkbox").click(function () {
    var checked = $(this).is(":checked"),
        $tr     = $(this).parents("tr").first();

    if (checked) {
        $tr.append("<td></td>");
    } else {
        $tr.find("td:last").remove();
    }
});
Run Code Online (Sandbox Code Playgroud)

如果您要添加多个<td>,则存储对它们的引用或使用标识符再次查找它们。我假设您只想在最后添加/删除一列。

与任何 jQuery 一样,有多种解决方案!这是我头顶上的一个。