2013-11-24 3 views
0

Я использую следующий синтаксис в своем меню.Переключатель JQuery плюс и минус

<div id="flip5"><a href="#">Demo <span id="togglebut">+</span></a></div> 

Я пытаюсь выяснить, как переключать + на - когда пользователь нажимает на ссылку.

Ссылка открывает скрытый div.

До сих пор я добрался до нижнего кода, но на самом деле это не переключатель.

$("flip5").click(function(){ 
    $("togglebut").html("-"); 
}); 

любая помощь здесь?

+0

Некоторые, если/иначе было бы хорошо. –

ответ

5

Проверьте, если HTML уже "+", если изменить его на "-", и наоборот:

$("#flip5").click(function(){ 
    $("#togglebut").html(function(_, html) { 
     return $.trim(html) == '+' ? '-' : '+'; 
    }); 
}); 

FIDDLE

+2

Некоторые объяснения были бы хорошими –

+0

short & sweet - спасибо :) –

0

Как насчет, предполагающей вашей помощью JQuery:

$("#flip5").click(function(){ 
    var $but = $("#togglebut"); 
    $but.html($but.html() == "+" ? "-" : "+"); 
}); 

Здесь хранится объект jquery для диапазона #togglebut в переменной $but, в основном для удобства чтения. Затем он переключает новое значение как противоположное значение из +/- из последнего значения с помощью оператора?:.

jsfiddle: http://jsfiddle.net/9s33C/

Более читаемый версия может быть:

$("#flip5").click(function() { 
    var $but = $("#togglebut"); 

    if($but.html() == "+") 
    $but.html("-") 
    else 
    $but.html("+") 
}); 
Смежные вопросы