jQuery

2009-03-02 5 views
6

için dize işleme Bir metin üstbilgisine tıklandığında daraltılmış bir div var.jQuery

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

: - "filtreler" buna göre

nasıl jQuery ile bu gerçekleştirebilirsiniz (zaman div daraltılmış veya genişletilmiş) Ben için "+ filtreleri" dan başlığını değiştirmek istiyorum?

cevap

13

:) gibi, bu doğru yoldur değilse ben

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

anladım, onunla biraz oynayabilir, sevinirim Bir kafa karıştırın, neden onu ayrıştırmanız gerekiyor?

4

yapardım:

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...) 

Bu şimdiye başlık div görünümünü değiştirmek için css biraz işlemek için sınıf artı ve eksi kullanmak çünkü. muhtemelen bunu yaparken aşağıdaki bu Aldırma

1

sadece bir dizeyi diğeriyle değiştiriyorsun.

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