2011-05-30 22 views
27

इस तरह पाठ के साथ:जावास्क्रिप्ट/jQuery: स्ट्रिंग के हिस्से को प्रतिस्थापित करें?

<div class="element"> 
<span>N/A, Category</span> 
</div> 

मैं N/A के हर घटना से छुटकारा पाने के लिए चाहते हैं।

$('.element span').each(function() { 
     console.log($(this).text()); 
     $(this).text().replace('N/A, ', ''); 
    }); 

लॉग इन पाठ अवधि के अंदर पाठ तो चयनकर्ता ठीक है:

यहाँ मेरी प्रयास है।

मैं यहाँ क्या गलत कर रहा हूं?

$('.element span').each(function() { 
     console.log($(this).text()); 
     var text = $(this).text().replace('N/A, ', ''); 
     $(this).text(text); 
    }); 

अपने कोड काम कर रहा है:

+1

'प्रतिस्थापन ** ** ** एक स्ट्रिंग देता है, यह स्थान परिवर्तनों में प्रदर्शन नहीं करता है। और फिर भी, पाठ स्वचालित रूप से तत्व पर सेट किया जाएगा। –

उत्तर

75

आप के बाद कॉल की जगह पाठ निर्धारित करने की आवश्यकता http://jsfiddle.net/ZSXb6/


यहाँ एक और अच्छा तरीका आप यह कर सकते है (टोपी टिप @Felix राजा) :

$(".element span").text(function(index, text) { 
    return text.replace("N/A, ", ""); 
}); 
+15

या फ़ंक्शन पास करें: '$ (यह) .text (फ़ंक्शन (i, टेक्स्ट) {वापसी text.replace (...);});' –

+0

@ फ़ेलिक्स: अच्छा कॉल, मैं हमेशा उस संस्करण के बारे में भूल जाता हूं। दूसरे संस्करण के लिए –

+0

+1, इसे फ़ेलिक्स के जवाबों में से एक को अपवर्तित करने के लिए उसे :)। – kapa

10

यह इस

की तरह होना चाहिए
$(this).text($(this).text().replace('N/A, ', '')) 
संबंधित मुद्दे

 संबंधित मुद्दे