jQuery

2009-03-02 18 views
6

में स्ट्रिंग मैनिपुलेशन मेरे पास एक div है जो टेक्स्ट हेडर पर क्लिक करने से गिरता है। "- फिल्टर" मैं के लिए "+ फिल्टर" से शीर्ष लेख को बदलना चाहते हैं उसके अनुसार (जब 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("-", "+")); 

यदि यह सही तरीका नहीं है, मैं इसकी सराहना करेंगे

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

इसका कारण यह है कि मैं सीएसएस का एक सा संभाल करने हैडर div का स्वरूप बदलने के लिए वर्ग धन और ऋण का प्रयोग करेंगे। आप शायद पहले से ही है कि क्या कर रहे हैं के रूप में, आप इसके साथ एक सा खेल सकते हैं इस :) तरह

1

एक सिर ऊपर रखना आसान है, आपको इसे पार करने की आवश्यकता क्यों है? आप सिर्फ एक स्ट्रिंग को दूसरे के साथ बदल रहे हैं।

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