Jquery - 如果只是第一个实例,则切换类

时间:2013-01-29 04:35:44

标签: jquery jquery-selectors toggleclass

这是我的小提琴:http://jsfiddle.net/SBAE8/

这是我的问题。我有一系列3个项目,最顶层的项目前面是标题,其标题的可见性已被脚本切换。如果用户删除项目1,则显示项目2的标题,然后如果删除项目2,则显示项目3的标题。问题是 - 如果他们首先删除第2项,则会显示第3项的标题,我只想在任何时候为每个标题设置一个标题,并且无论哪个项目位于顶部,它都应该始终是第一个项目的标题。我已经尝试了几种方法来检查删除的项目是否有更高的兄弟,但我似乎无法想出这个。

jQuery(也见上面链接的小提琴):

    $(".doDelete").click(function () {
        var $el = $(this).closest("div.payload-container");
        var id = $(this).attr("id");
        // Alert callback (removed from this example)
            // Success
                $el.next("div.payload-container").find(".headline").toggleClass("hide");
                $el.slideUp(200, function () {
                    $el.remove();
                });
    });

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

您不会先检查是否有任何其他标题可见(或可见)。

我检查回调:

if (!$(".headline:visible").length) {
    $el.next("div.payload-container").find(".headline").toggleClass("hide");
}
$el.remove();

slideUp完成之后的,这不会显示下一个标题。如果这不好,那么你必须检查它是$el的{​​{1}}是否可见。

http://jsfiddle.net/SBAE8/1/

更新:最终工作版http://jsfiddle.net/uE5Ap/2/