2011-05-27 7 views
5

मेरे पास JQuery का उपयोग करके एक हाइलाइटिंग फ़ंक्शन है, जो मेनू में क्लिक किए गए <li> तत्व के लिए सीएसएस बदलता है। फ़ंक्शन छद्म तीर के रूप में कार्य करने के लिए बाएं ब्रैकेट < < की एक जोड़ी भी तैयार करता है।पहले से जोड़े गए पाठ को हटाकर

लेकिन मैं < < को कैसे हटा सकता हूं जब मैं अगले <li> पर स्विच करता हूं?

$(".sdv-nrml").click(function(){ 

//remove old highlighted li 
$(".sdv-nrml").css({'background' : '#ffcc66' , 'color' : '#000000' , 'text-align' : 'right'}); 

//assign new css and prepend arrow 
$(this).css({'background' : '#996600' , 'color' : '#ffff66' , 'text-align' : 'left'}); 
$(this).prepend("<< "); 
}); 

धन्यवाद

उत्तर

10

मैं <span> एक में << शामिल होगा मैं < < के बजाय « इस्तेमाल किया। मुझे यह थोड़ा और आकर्षक लगता है।

+0

कृपया धन्यवाद। – Tom

+0

नोट: मामूली त्रुटि। वर्ग को "प्रीपेन्ड" नाम दिया गया था, जिसे रेपेंड के रूप में संदर्भित किया गया था, ठीक उसी तरह, जिसे मैं ढूंढ रहा था – user

7

एक class के साथ एक span में लपेट और उस को हटा दें।

$(this).prepend('<span class="prepended">&laquo; </span'); 

तो दूर करने के लिए:

$(".prepended").remove(); 

नोट:

$(this).prepend('<span class="pseudo-arrow">&lt;&lt;</span>'); 
+0

धन्यवाद! भगवान, इतना आसान ... आप बता सकते हैं कि यहां देर हो रही है, ब्रेक लेने और बियर का आनंद लेने का समय। – Tom

0

आप उपयोगकर्ता को चयनित राज्य के लिए कक्षा क्यों देते हैं? । चयनित आइटम { पृष्ठभूमि: # ffcc66; रंग: # 000; टेक्स्ट-संरेखण: दाएं; }

तो अपनी स्क्रिप्ट की तरह इस्तेमाल किया जा सकता:

$(".sdv-nrml").click(function(){ 

    //remove old highlighted li 
    $(".sdv-nrml").each(function(){ 
     $(this).removeClass("selected arrow"); 
    }); 

    //assign new css and prepend arrow 
    $(this).addClass("selected"); 
    $(this).prepend("<span class='arrow'>&lt;&lt;</span> "); 
});