2012-01-24 3 views
-1

これは私の最初の投稿ですが、私はこのサイトをリソースとしてかなり愛用しています。しかし、今質問が出てきました...JavaScriptで4つの異なる*単語を検出してスタイリングを追加する

私はこの質問の調査中にたくさんのJavaScriptハイライトプラグインを見つけましたが、彼らはすべてという1つのという単語を見つけることに集中しています。私が作成しているファンサイト(Mega Man Battle Network、関心のある人のために)では、 "Fire"、 "Aqua"、 "Elec"、 "Wood"という単語を検出する方法を見つけたいと思います。それらにスタイリングを自動的に追加することができます。

私を助けるためにそこにJavaScriptの達人?

答えて

0

私はそれを理解しました。

$(document).ready(function(){ 
    $('div.elemental:contains("Aqua")').addClass('aqua'); 
    $('div.elemental:contains("Fire")').addClass('fire'); 
    $('div.elemental:contains("Wood")').addClass('wood'); 
    $('div.elemental:contains("Elec")').addClass('elec'); 
}); 

は今、私はちょうどハイライトは私がに行く新しいページごとに行われているように、新しい機能へのコールバックを作成する方法を把握する必要があります。

2

あなたが発見された単語気にしない場合、あなたはこのような正規表現を使用できます。実際に

/\bfire|aqua|elec|wood\b/gi 

を、今、私はそれについて考えることを、私はまだ同じ正規表現を(のみで使用したいですあなたが見つけた言葉に気をつけたとしても)。 javascriptとjqueryを使用して単語を含むセクションを選択し、その単語をクラス名として追加して、そのクラスに関連付けられているCSSを適用します。次のようになりregexで

:あなたが探していることでしょう

/\b(fire|aqua|elec|wood)\b/gi 

jQueryのは、おそらくフィルタ機能になります:http://api.jquery.com/filter/#expr

あなたがそれらのオブジェクトを持っていたら、あなたが使用してスタイルを適用することができますjQueryと.addClass:http://api.jquery.com/addClass/

+0

こんにちはPatrick、私は正規表現に精通していません。私はこれをどのように実装できるかの例を持っていますか? –

+0

もちろん、ここに例があります。このページに対してこれを実行すると、それらの単語の1つを含むすべてのスパンに赤い枠線が表示されます: $( 'span') .filter(function(){ return this.innerHTML.match(/ \ b/gi); })。css( "border"、 "1px solid red"); –

+0

それはそれをうまく貼り付けませんでした。要点は次のとおりです:https://gist.github.com/1673028。最初のセレクタは$( "div.element")になります。 –

関連する問題