2009-11-06 3 views
15

jQuery를 사용하여 링크의 텍스트에서 첫 번째 문자를 제거하고 싶습니다.jQuery를 사용하여 링크의 텍스트에서 첫 번째 문자를 제거하려면 어떻게합니까?

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

jQuery에서 "+"및 "-"을 제거하고 싶습니다.

출력 :

<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

한 걸음 뒤로 Downvoted : 1) 이것은 모든 span 요소의 값을 첫 번째 span 요소의 값으로 바꿉니다. 2)이 예제는 구문 오류가 있습니다. – BalusC

+0

시작 색인이 잘못되었습니다. 2이어야합니다. 또한 출력에 필요한 부분이기 때문에 새 값에 선행 공백을 추가해야합니다. –

+7

이 대답은 불필요하게 복잡합니다. html(). substring (1)은 $ ('span')을 사용하지 않는 것이 어떨까요? –

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

하위 문자열 +1이 나쁜 방법입니다. 저자의 답변을 똑딱에도 불구하고 ..이 대답은 정규식을 사용하여 정답입니다! – Evildonald

+3

@Evildonald : 부분 문자열이 나쁜 이유는 무엇입니까? 나는 그것이 Regex를 사용하는 것이 더 낫다는 것에 동의하지만, 나는 나쁜 문자열을 호출하지 않을 것이다 :-) –

+2

Regex가 더 좋은 이유는 무엇인가? 대체가 일어날 필요가있는 부분을 알고 있다면 부분 문자열은 Regex보다 성능 및 가독성 측면에서 더 낫습니다. –

2

할 수 있습니다 얻을/.html 중에서 사용하여 HTML을 설정()와 .substring 사용하여 첫 번째 문자(), 나는 당신을 지금 꽤 명확한 생각을 제거 그냥 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 
관련 문제