2009-03-02 5 views
6

У меня есть div, который разрушает щелчок на текстовом заголовке. Я хочу, чтобы изменить заголовок из «+ фильтров» до «- фильтры» соответственно (при ДИВ свернут или развернут)Обработка строк в jQuery

Как я могу выполнить это с помощью JQuery:

if (headerDiv.text() starts with "+") 
    replace "+" with "-" 
else 
    replace "-" with "+" 

?

ответ

13

Ничего, я понял это

if ($(header).text().trim().charAt(0) == "+") 
    $(header).text($(header).text().replace("+", "-")); 
else 
    $(header).text($(header).text().replace("-", "+")); 

Если это не правильный путь, я был бы признателен a heads up

4

Я хотел бы сделать:

var plus_string = "<span class=/"plus/">+</span>"; 
var minus_string = "<span class=/"minus/">-</span>"; 


if($("div.header").hasClass("plus")){ 
    $("div.header").removeClass("plus"); 
    $("div.header").addClass("minus"); 
    $("div.header").append(plus_string); 
    $("span.plus").remove(); 
} else (... the reverse of the above...) 

это потому, что я хотел бы использовать класс плюс и минус для обработки немного CSS, чтобы изменить внешний вид DIV заголовка. Как вы, вероятно, уже делают это, вы можете играть немного с ним, как это :)

1

держите это просто, зачем вам разбирать его? просто заменив одну строку на другую.

if(headerDiv.text() == '+ filters') 
{ 
    headerDiv.text() == '- filters'; 
} 
elseif(headerDiv.text() == '- filters') 
{ 
    headerDiv.text() == '+ filters'; 
}