1

我正在迭代 div 并编辑,删除其中的按钮......如何在鼠标悬停时隐藏链接按钮并在鼠标悬停时显示它们,就像 twitter 一样......

$.each(data.Results, function() {
                    divs += '<div class="resultsdiv"><a href="Clients\Details' + this.ClientId + '">Edit</a><br/><a href="Clients\Details' + this.ClientId + '">Delete</a></div>';
                });
                $("#ResultsDiv").append(divs);
                $(".resultsdiv:even").addClass("resultseven");
                $(".resultsdiv").hover(function() {
                    $(this).addClass("resultshover");
                }, function() {
                    $(this).removeClass("resultshover");
                });

而CSS是:

.resultseven { background-color: #EFF1f1; }
.resultshover { background-color: #F4F2F2; cursor:pointer; }
4

3 回答 3

1

您可以使用 找到孩子并为其设置动画.children(),如下所示:

$.each(data.Results, function() {
    divs += '<div class="resultsdiv"><a href="Clients\Details' + this.ClientId + 
            '">Edit</a><br/><a href="Clients\Details' + this.ClientId + 
            '">Delete</a></div>';
});
$("#ResultsDiv").append(divs);
$(".resultsdiv:even").addClass("resultseven");
$(".resultsdiv").hover(function() {
    $(this).addClass("resultshover").children('a').stop(true, true).fadeIn();
}, function() {
    $(this).removeClass("resultshover").children('a').stop(true, true).fadeOut();
});

或者,使用 的较短版本.animate(),最初在 CSS 中隐藏它们并执行以下操作:

$(".resultsdiv").hover(function() {
    $(this).toggleClass("resultshover")
           .children('a').stop(true, true).animate({opacity: 'toggle');
});
于 2010-07-12T13:08:26.757 回答
0

您可以遍历孩子并隐藏它们

$.each(data.Results, function() {
    divs += '<div class="resultsdiv"><a href="Clients/Details' + this.ClientId +     '">Edit</a><br/><a href="Clients/Details' + this.ClientId + '">Delete</a></div>';
});
$("#ResultsDiv").append(divs);
$(".resultsdiv:even").addClass("resultseven");
$(".resultsdiv").children().hide();
$(".resultsdiv").hover(function() {
    $(this).addClass("resultshover");
    $(this).children().show();
}, function() {
    $(this).removeClass("resultshover");
    $(this).children().hide();
});
于 2010-07-12T13:12:00.803 回答
0

你可以,

$.each(data.Results, function() {
    var divs = '<div class="resultsdiv"><a href="Clients\Details' + this.ClientId + '">Edit</a><br/><a href="Clients\Details' + this.ClientId + '">Delete</a></div>';
    $(divs).hide();
    $(this).append(divs);
    $('.resultdiv:even').addClass('resultseven');
    $(this).hover(function() {
            $(this).find('.resultsdiv').show().addClass('resultshover');
        }, 
        function() {
            $(this).find('.resultsdiv').hide().removeClass('resultshover');
        }
    );
});

我假设您data.Results是元素列表。也许li

于 2010-07-12T13:17:18.827 回答