jQuery - 文本只切换一次

Cla*_*dio 5 html jquery

我有一个简单的脚本,应该从改变+-Content是开放的,而倒退.
但现在,当它改变时-,-无论如何都会保持不变.即使你折叠内容,它仍然保持原样-.

我试图扭转这些功能,但它只是做了同样的事情+.

jQuery的

$(document).ready(function(){
    $("#expanderHead").click(function(){
        $("#expanderContent").slideToggle();
    if ($("#expanderSign").text() != "+"){
        $("#expanderSign").html("-")
    } else {
        $("#expanderSign").html("+")
    }
    });
});
Run Code Online (Sandbox Code Playgroud)

HTML

<span id="expanderHead" style="cursor:pointer;">
    Lorem ipsum Lorem ipsum Lorem ipsum.
    <span id="expanderSign">+
    </span></span>
    <div id="expanderContent" style="display:none; color: green;">
    <sup><p>Lorem ipsumLorem ipsumLorem ipsum<br>
    Lorem ipsumLorem ipsumLorem ipsumLorem ipsum,<br>
     Lorem ipsumLorem ipsumLorem ipsum.</p>
     </sup>
  </div>
Run Code Online (Sandbox Code Playgroud)

Geo*_*rge 8

你的逻辑是错误的,你说如果标志当前不是+(它是-),那么将它设置为-.标志永远是-.

将您的条件更改为:

if ($("#expanderSign").text() == "+"){
Run Code Online (Sandbox Code Playgroud)

或者使用text()方法使用函数如何:

$("#expanderSign").text(function(i,v){
    return v == '-' ? '+' : '-';
})
Run Code Online (Sandbox Code Playgroud)

的jsfiddle