2009-11-06 11 views
15

मैं jQuery के साथ लिंक के टेक्स्ट से पहले अक्षर को हटाना चाहता हूं। "-" jQuery के साथ सेमैं jQuery के साथ लिंक के टेक्स्ट से पहला अक्षर कैसे हटा सकता हूं?

<span class="test1"> +123.23 </span> 
<span class="test2"> -13.23 </span> 

मैं "+" और निकालना चाहते हैं।

आउटपुट:

<span class="test1"> 123.23 </span> 
<span class="test2"> 13.23 </span> 
+0

इसके लिए आपने किस कोड को लिखा है और आपके होमवर्क असाइनमेंट का नतीजा क्या हुआ? –

उत्तर

40
var val = $("span").html(); 
$("span").html(val.substring(1, val.length)); 
+1

एक कदम पीछे डाउनवॉटेड: 1) यह पहले अवधि तत्व के मूल्य के साथ सभी अवधि तत्वों के मान को प्रतिस्थापित करता है। 2) इस उदाहरण में एक वाक्यविन्यास त्रुटि है। – BalusC

+0

आपकी शुरुआती अनुक्रमणिका गलत है। होना चाहिए 2. इसके अलावा, आपको नए मूल्य में एक अग्रणी स्थान जोड़ने की आवश्यकता है क्योंकि आउटपुट में इसकी आवश्यकता है। –

+7

यह उत्तर अनावश्यक रूप से जटिल है। क्यों न सिर्फ $ ('अवधि')। Html()। Substring (1)? –

24
$("span.test1, span.test2").each(function() { 
    $(this).text($(this).text().replace(/[+-]/, "")); 
}); 
+0

+1 सबस्ट्रिंग ऐसा करने का बुरा तरीका है। लेखक के उत्तर टिक के बावजूद .. Regex का उपयोग कर यह जवाब सही जवाब है! – Evildonald

+3

@ एविल्डोनल्ड: क्यों सबस्ट्रिंग खराब है? मैं सहमत हूं कि रेगेक्स का उपयोग करना बेहतर है, लेकिन मैं सबस्ट्रिंग खराब नहीं कहूंगा :-) –

+2

रेगेक्स बेहतर क्यों है? यदि आप जानते हैं कि प्रतिस्थापन की आवश्यकता है, तो प्रदर्शन और पठनीयता स्टैंडपॉइंट दोनों से रेगेक्स से सबस्ट्रिंग बेहतर है। –

2

आप कर सकते हैं प्राप्त /() और .substring का उपयोग कर पहले वर्ण(), मुझे लगता है कि अब बहुत स्पष्ट है, तो आप को दूर एचटीएमएल .html का उपयोग कर सेट बस एक 2 (या 3) लाइन कोड लिखने की जरूरत है।

7
// get the current text 
text1 = $(".test1").html(); 
// set the text to the substring starting at the third character 
$(".test1").html(text1.substring(2)); // extract to the end of the string 

text2 = $(".test2").html(); 
$(".test2").html(" " + text2.substring(2)); // looks like you want to keep the leading space 
संबंधित मुद्दे

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