0

我是 JS 新手,只是为了了解它是如何工作的。

为什么我的符号 (+,-) 没有改变?当 div 展开时,它仍然带有 + 叹息永远不会去 -

谢谢

$(document).ready(function(){
    $(".expanderHead").click(function(){
        $(this).next(".expanderContent").slideToggle();
        if ($(".expanderSign").text() == "+"){
            $(".expanderSign").html("−")
        }
        else {
            $(".expanderSign").text("+")
        }
    });
});
4

1 回答 1

1

只是猜测关系,因为你没有显示你的 HTML,但你可能需要这样的东西:

$(document).ready(function () {
    $(".expanderHead:visible").click(function () {
        var content = $(this).next(".expanderContent");
        var sign = $(this).find(".expanderSign");
        if (content.is(":visible")) {
            content.slideUp();
            sign.text("+");
        } else {
            var expanded = $(".expanderContent:visible");
            if (expanded.length > 0) {
                expanded.slideUp();
                expanded.prev(".expanderHead").find(".expanderSign").text("+");
            }
            content.slideDown();
            sign.text("-");
        }
    });
});

小提琴

于 2013-05-16T03:43:57.020 回答