2011-02-08 9 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コードを追加/変更したい場合にのみ意味があります。

デモhttp://www.jsfiddle.net/XGuGy/

おそらくtext()にアクセスするための良いアイデア:

$('.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/1/

+0

クールが、どのように私は、例えば、かどうかを確認しますwordは.postheaderクラスのタグの中にありますか? – Vercas

+0

@Vercas:それを防ぐために2番目の例を更新しました。 – jAndy

+0

ありがとう!私は後でこれをテストするつもりです! – Vercas

関連する問題