2016-08-10 2 views
0

나는 다음과 같은 코드가 함께 .replace 사용 방법 : 발생하도록되어 무엇jQuery를 - jQuery를 OBJ

$('.selector.active').each(function() { 
    $(this).replace(/\s/g, '_'); 
} 

은 다음과 같습니다 .active있다 .selector 클래스와 각 요소 대체를 공백 "\s"와 "_는"

제가으로 실행하고하는 .replace$(this)$(this) 작동하지 않는다는 것입니다 JQuery와 OBJ하고 .replace는 jQuery를 기능하지 않습니다. 나는 또한 this.replace(/\s/g, '_');을 시도했지만 그것도 err'd ...

나는 어떻게해야 할 일을 할 수 있는지 궁금하다. (공백을 공백으로 대체하려면 각 요소의 밑줄을 클래스로 사용한다.). jQuery 또는 일반 JS - 중요하지 않습니다.

감사합니다.

답변

1

요소 안의 텍스트를 바꾸고 싶다고 가정합니다.이 경우 텍스트를 가져오고 설정해야합니다.

$('.selector.active').each(function() { 
    $(this).text($(this).text().replace(/\s/g, '_')); 
} 

편집 : 당신이

$('.selector.active').each(function() { 
    var innerText = $(this).text(); 
    var replacedText = innerText.replace(/\s/g, '_'); 
    //now set the new text in the element 
    $(this).text(replacedText); 
} 

난 그냥 게시 모두 함께두고 첫 번째 코드를 무엇을하고 있는지 이해할 수 있도록 내가 조금이 탈출하자.

+0

감사합니다. 작동하지 않는 것 같습니다. 나는 또한 $ (this) .text(). replace (/ \ s/g, '_'));를 시도했지만 작동하지 않았습니다. .. ('console.log'에서 테스트했습니다.) – 4lackof

+0

'.text()'메소드에 대해 약간의 설명을 편집했습니다. 'console.log (innerText)'는 요소의 텍스트를 보여 주어야합니다. 즉, 텍스트가있는 경우입니다. –

+1

감사합니다. 나는 지금 그것을 이해하고, 나는 또한 잘못된 것을 디버깅하고 있었다. ... 도와 줘서 고마워! 이걸 고쳤어. – 4lackof