2010-03-26 5 views
0

나는이 다음 코드 :JQuery를 사용하여 텍스트 문자열을 삭제하는 방법은 무엇입니까?

$('.breadcrumb:contains(",")').hide(); 

이 예상 전체 이동 경로, 을 숨 깁니다하지만 어떻게 이동에 대해 단지 쉼표를 제거하는 것처럼합니까?

========== 편집 :

<div class="breadcrumb"> 
    <a href="#">Link 1</a>, 
    <a href="#">Link 2</a> 
</div> 

========== 도움

+1

제발 좀 더 자세히 설명해 주시겠습니까? – systempuntoout

+0

샘플 빵 부스러기가 도움이 될 것입니다. 당신은 하나를 제공 할 수 있습니까? – Prutswonder

+0

'.breadcrumb'이 정확히 일치합니까? 링크 집합? 단일 링크? 링크 또는 쉼표 사이에 쉼표가 있습니까? 하나 이상의 쉼표를 포함 할 수 있습니까? – tvanfosson

답변

6

당신은 이런 식으로 작업을 수행 할 수 있습니다

$('.breadcrumb:contains(",")').html(function(i, h) { 
    return h.replace(/,/g, ''); 
}); 

.html() 함수는 함수 you can see the docs here을 받아들입니다. 위 코드는 모든 .breadcrumb 요소의 모든 쉼표를 대체합니다. 보기의 예 : http://jsfiddle.net/ZZG8p/

+0

동일한 것을 제출할 준비가되었습니다 : P : 편집 : Infact가 아닙니다. "h"는 현재 innerHTML이고 "this"는 DOM 요소입니다. 'return h.replace (/,/g, ''); '를 의미하지 않습니까? – Matt

+0

도움을 주셔서 감사합니다. Nick, 불행히도 이것은 breadcrumb div에서 모든 것을 제거합니다. –

+0

@Matt - 지금 테스트했을 때 감사합니다. –

0

.hide()에 대한

덕분에 선택한 숨 깁니다 마디. 노드 (.text() 사용)에서 텍스트를 가져 와서 쉼표를 추출한 다음 노드의 텍스트를 다시 설정해야합니다.

+0

또는 데이터를 잃지 않으려면 쉼표로 묶고 숨기 만하면됩니다. –

+0

그것은 자동으로 생성됩니다, 이것은 왜 이런 식으로 동적으로 이루어져야합니까? –

1
$('.breadcrumb:contains(",")').html($('.breadcrumb:contains(",")') 
    .html().replaceAll(",", "")); 
0

You can JavaScript's String replace method. 그러나, 나는 사지에 나가서 일어난 일을 상상할 것입니다. 당신은 배열을 가지고 있었고 그 다음에 빵 부스러기를 만들기 위해 반복했습니다. 그리고 이제는 뒤에 오는 쉼표를 없애고 싶습니다.

이 문제를 해결하려면 split()을 사용하고 ','를 구분자로 사용하십시오. 이렇게하면 내부 쉼표 만 사용할 수 있습니다.

-2
$('.breadcrumb:contains(",")').remove(); 

DOM에서 제거되지만 올바른 항목을 선택했는지 확인하십시오.

관련 문제