0

文字列の特定の文字 (Ruby on Rails グローバル変数として格納) を取得し、jquery を介して小さなアニメーションを追加しながら外観を変更したい...これは、変数を呼び出したり、特定の文字を囲む html タグを使用したりせずに簡単に実現できます。つかみたい; または、ラップされたタグを変数に格納することによっても可能です。しかし、この特定のインスタンスに対して変数を呼び出して操作できる、より洗練されたソリューションがあると思わずにはいられません...

状況を説明するのに役立つ例を次に示します。

サイトの会社名の文字列を格納できるグローバル変数「coName」があります。さまざまな場所で再利用したり、他のサイトで更新したりするのが簡単になります。いくつかの単純な埋め込みルビを使用すると、必要な場所でその文字列を簡単に呼び出すことができます...たとえば、 h1 要素の単純な会社名:

<h1><%=h coName %></h1>

以下を生成します (もちろん、coName 値が「会社名」の場合)

<h1>Company Name</h1>

ここで、文字「mpany」を別の色にし(これらの文字で jQuery フェードインおよびフェードアウト アニメーションも実行します)、「名前」を別の行に配置し、いくつかのチャーターをインデントしたいだけです。

繰り返しますが...これは些細なことです。変数への呼び出しを破棄して、すべて醜いものにマークアップすると、次のようになります。

<h1>Co<span>mpany</span><br /><span>Name</span></h1>

次に、CSS と jQuery セレクターを使用して、色の変更、アニメーション化、インデントを簡単に行うことができます。しかし、それは洗練されておらず、おそらく SEO フレンドリーではなく、「coName」変数を呼び出して変更するほどモジュラーではありません。現在、jQuery で部分文字列メソッドを再生していますが、グローバル変数を呼び出すときに適切な解決策が見つかりませんでした。

ネットの専門家が提供できる解決策を探しています。

ありがとう。

4

2 に答える 2

3

ハイライトの方法はあなたが探しているものだと思います。

highlight('You searched for: rails', ['for', 'rails'], :highlighter => '<em>\1</em>')
# => You searched <em>for</em>: <em>rails</em>

詳細はこちら: http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-highlight

于 2012-09-12T16:25:20.643 に答える
2

SEO フレンドリーにする方法は、javascript を使用してロード後に dom を操作することです。このようなもの:

$(document).ready(function(){
  $('h2').html(
    $('h2').html().replace(/mpany/, '<em>mpany</em>').replace(/Name/, '<em>Name</em>')
  );
});
于 2012-09-12T16:48:11.560 に答える