0
$(document).ready(function (){
    $("#newrecord1 tr:odd").addClass("odd");
    $("#newrecord1 tr:odd(.odd)").find("li").hide();
    $("#newrecord1 tr:not(.odd)").hide();
    $("#newrecord1 tr:first-child").show();    
    $("#newrecord1 tr.odd").click(function (){
        if ($(this).next("tr").css('display') === 'none'){
            $(this).next("tr").show();
            $(this).next("tr").find("li").slideDown("slow");
        }
        else {
            $(this).next("tr").find("li").slideUp("slow",function(){
                $(this).next("tr").hide();
            });
        }
    })
})

在第 13 行$(this).next("tr").hide()上,当 li 标签向上滑动时,代码行不起作用,它没有隐藏该行。

4

1 回答 1

1

我将重写它以解决您的问题并降低强度(您正在创建太多新对象,并尽可能利用链接):

$(document).ready(function (){
    var trs = $('#newrecord1').find('tr');
    var oddTRs = trs.filter(':odd').addClass('odd');
    // hide all <li>
    trs.find('li').hide();
    trs.filter(':not(.odd)').hide();
    trs.filter(':first-child').show();    
    oddTRs.click(function (){
        var nextTR = $(this).next('tr');
        if (nextTR.css('display') === 'none'){
            nextTR.show().find("li").slideDown("slow");
        }
        else {
            nextTR.find("li").slideUp("slow",function(){
                nextTR.hide();
            });
        }
    });
});

试试这个。

于 2013-08-01T15:09:02.397 回答