我的迹象没有改变

时间:2013-05-16 03:25:00

标签: javascript jquery

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

为什么我的标志(+, - )不变? 当div扩展时,它仍然留下+叹息永远不会 -

由于

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

1 个答案:

答案 0 :(得分: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("-");
        }
    });
});

FIDDLE