选择上一个元素-jQuery

选择上一个元素-jQuery,jquery,html,checkbox,Jquery,Html,Checkbox,这是我的密码 <tr> <td> <input type="checkbox" class="cbx" name="cbx"> </td> <td> <div>some content</div> </td> <td> <span class="book">Book now</span

这是我的密码

<tr>
    <td>
        <input type="checkbox" class="cbx" name="cbx">
    </td>
    <td>
        <div>some content</div>
    </td>
    <td>
        <span class="book">Book now</span>
    </td>
</tr>
请帮我缩短这个


问候。

简单,使用
.closest()
方法查找
tr
,然后搜索您的
.cbx
!:)

您的示例指向您的
TD
元素,因为您只使用了
.parent()

要访问
TR
而不是使用
.parent().parent()
只需使用
.closest('TR')



简单,使用
.closest()
方法查找
tr
,然后搜索您的
.cbx
!:)

您的示例指向您的
TD
元素,因为您只使用了
.parent()

要访问
TR
而不是使用
.parent().parent()
只需使用
.closest('TR')


在您的代码中
。parent()
将选择parent
节点。要选择
,您应该使用
.parent().parent()
.closest(“tr”)

注意,最好在代码
中应用
.prop(“checked”,true)
.attr(“checked”,“checked”)
。parent()
将选择parent
节点。要选择
,您应该使用
.parent().parent()
.closest(“tr”)


注意,最好应用
.prop(“checked”,true)
.attr(“checked”,“checked”)
这可以用

$( '.book' ).on( 'click', function() {
    var $tr = $( this ).parents( 'tr' ).eq( 0 );
    // get the parenting tr

    $( '.cbx', $tr ).attr( 'checked', true );
    // select elements matching '.cbx' inside of $tr and check them
} );

这可以用简单的方法完成

$( '.book' ).on( 'click', function() {
    var $tr = $( this ).parents( 'tr' ).eq( 0 );
    // get the parenting tr

    $( '.cbx', $tr ).attr( 'checked', true );
    // select elements matching '.cbx' inside of $tr and check them
} );

$(this).parent()
将只查看该
的内部。要么两次
.parent()
,要么做一个更优雅的解决方案,比如roXon的。
$(这个)。parent()
只会查看该
的内部。要么两次
.parent()
,要么做一个更优雅的解决方案,比如roXon的。非常感谢roXon。它工作起来很有魅力。很抱歉,由于我的身份,我不能投票支持你。@user1915190你不能投票,但你可以接受答案!通过单击投票旁边的“V”复选标记arrows@user1915190THX:)你投了票,但你没有接受正确的答案|上面说再等5分钟minutes@user1915190当然,这可以让你在决定谁给cudos提供(最快或)最有用的答案之前看到更多答案。谢谢你,罗克逊。它工作起来很有魅力。很抱歉,由于我的身份,我不能投票支持你。@user1915190你不能投票,但你可以接受答案!通过单击投票旁边的“V”复选标记arrows@user1915190THX:)你投了票,但你没有接受正确的答案|上面说再等5分钟minutes@user1915190当然,这可以让你在决定谁给cudos提供(最快或)最有用的答案之前看到更多答案
$(".book").on("click", function() {
    $(this).closest("tr").find(".cbx").prop("checked", true);
});
$( '.book' ).on( 'click', function() {
    var $tr = $( this ).parents( 'tr' ).eq( 0 );
    // get the parenting tr

    $( '.cbx', $tr ).attr( 'checked', true );
    // select elements matching '.cbx' inside of $tr and check them
} );