2011-02-08 2 views
0

.post라는 DIV 클래스가 있고 그 요소 안에 단어를 찾아서 다른 것으로 바꿔야합니다. 그 단어는 다른 클래스 (.tiptrig 및 .postheader)가있는 요소 안에 있지 않아야합니다.Javascript/jQuery를 사용하여 특정 클래스가있는 요소에서 특정 단어를 찾으려면 어떻게합니까?

저는 이것을 정말로하고 싶습니다. 그러나 나는 어떻게 ... 나는 javascript와 특히 jQuery에 익숙하지 않습니다.

답변

4

쉬운 작업처럼 보입니다.

$('.post').each(function() { 
    $(this).html(function(index, html) { 
     return html.replace(/THEWORD/g, 'something else'); 
    }); 
}); 

이 클래스 .post 자신의 모든 노드를 반복하고 다른 뭔가 단어 THEWORD을 대체 할 것이다. 예를 들어 HTML 태그 이름을 수정할 수도 있기 때문에 자신도 위험하다는 사실을 알고 있어야합니다. 그래서 이것은 HTML 코드를 추가/수정하려는 경우에만 의미가 있습니다.

데모 :

$('.post').each(function() { 
    var $this = $(this); 

    if(!$this.closest('.postheader').length && !$this.closest('.tiptrig ').length) { 
     $this.text(function(index, text) { 
      return text.replace(/you/g, 'you fool'); 
     }); 
    } 
}); 

데모 : 아마 http://www.jsfiddle.net/XGuGy/

더 나은 아이디어는 text()에 액세스 할 수 http://www.jsfiddle.net/XGuGy/1/

+0

쿨,하지만 난 예를 들어, 방법을 확인 마십시오 단어는 .postheader 클래스의 태그 안에 있습니다. – Vercas

+0

@Vercas :이를 막기 위해 두 번째 예제를 업데이트했습니다. – jAndy

+0

감사! 나는 나중에 이것을 시험 할 것이다! – Vercas

관련 문제