2009-11-06 19 views
15

İlk karakteri jQuery ile bağlantı metninden kaldırmak istiyorum.İlk karakteri bir bağlantının metninden jQuery ile nasıl kaldırırım?

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

jQuery ile "+" ve "-" kaldırmak istiyorum.

Çıktı:

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

Bunun için hangi kodu yazdınız ve ödevinizin sonucu neydi? –

cevap

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

Geri adım attı: 1) Bu, tüm span öğelerinin değerini, birinci span öğesinin değeriyle değiştirir. 2) bu örnek bir sözdizimi hatasına sahiptir. – BalusC

+0

Başlangıç ​​dizininiz yanlış. 2 olmalıdır. Ayrıca, çıktıda ihtiyaç duyulduğu için yeni değere giden bir boşluk eklemeniz gerekir. –

+7

Bu cevap gereksiz bir şekilde karmaşıktır. Neden sadece $ ('span') değil html(). Substring (1)? –

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

+1 substring bunu yapmanın en kötü yoludur. Yazarın cevabına rağmen .. Regex kullanarak bu cevap doğru cevap! – Evildonald

+3

@Evildonald: neden substring kötü? Regex'i kullanmanın daha iyi olacağına katılıyorum, fakat ben kötü bir telefon numarası aramayacağım :-) –

+2

Regex neden daha iyi? İkamenin gerçekleşmesi gerektiğini biliyorsanız, substring hem performans hem de okunabilirlik açısından Regex'ten daha iyidir. –

2

yapabilirsiniz olsun/html kullanarak HTML set() ve .Substring kullanarak ilk karakteri(), sana şimdi oldukça açık olduğunu düşünüyorum kaldırmak sadece 2 (veya 3) satır kodu yazmanız gerekir.

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 
İlgili konular