jquery 选择父元素的下一个元素

s4n0splo  于 2023-06-22  发布在  jQuery
关注(0)|答案(5)|浏览(181)

这是我的代码

<tr class="ar">
   <td>
        <input type="checkbox" class="cbx">
   </td>    
   <td>
        <span class="spc">book</span>
   </td> 
</tr>
<tr class="ar"></tr>

我想做的是,如果复选框或span被点击(在第一个tr内部),我想将一个类切换到第二个tr。此外,如果复选框已经选中,那么我需要取消选中时,点击任何这些。

7cwmlq89

7cwmlq891#

$('td input[type=checkbox], td span').click(function(){
    $(this).closest('tr')
        .find('input[type=checkbox]')
        .prop("checked", false)
        .end()
        .next()
        .toggleClass('yourclass');
});
polkgigr

polkgigr2#

试试这个

$(".cbx2").click(function(){
  $(this).closest("tr.ar").next().toggleClass("toggled_class");
});

$(this).closest("tr.ar")将给予你这个对象的ar类的最接近的父元素tr.next将得到下一个这种元素,这是你的第二个tr

esyap4oy

esyap4oy3#

试试这个。。。如果你想取消勾选复选框...

$('#your_checkbox_id').live('click' , function() {
    if($('#your_checkbox_id').is(':checked')) {
        $('#your_checkbox_id').removeAttr('checked');
        $(this).next().toggleClass('class_name');
    }
});
5rgfhyps

5rgfhyps4#

$('.cbx, .spc').click(function(e){
    $('.cbx').prop('checked', false); // uncheck everything

    $(this).toggleProp(checked, $(this).prop('checked')) // check/uncheck current
           .closest('.ar').toggleClass('yourClass'); // toggle class on next tr
});
csbfibhn

csbfibhn5#

试试这个:http://jsfiddle.net/kPJJf/

$('td input[type=checkbox], td span').click(function () {
       $(this).parents('tr').next('tr').find('span').toggleClass('spc');
   if($(this).parents('tr').next('tr').find('input[type="checkbox"]').is(':checked')==false){
      $(this).parents('tr').next('tr').find('input[type="checkbox"]').prop('checked', true);
   }else{
      $(this).parents('tr').next('tr').find('input[type="checkbox"]').removeAttr('checked');
   }
});

相关问题