0

我想获取字符串的特定字符(存储为 ruby​​ on rails 全局变量)并修改它们的外观,同时通过 jquery 添加一点动画......这很容易实现,而无需调用变量并让 html 标签围绕特定字符我想抢;或者也许通过将包装的标签存储在变量中。但我不禁想到有一个更优雅的解决方案可以让我调用我的变量并针对这个特定的实例操作它......

这是一个可能有助于描述情况的示例。

我有一个全局变量“coName”,我可以在其中存储网站所在公司名称的字符串;使其易于在不同位置重复使用并为其他站点更新。使用一些简单的嵌入式 ruby​​ 可以很容易地在任何需要的地方调用该字符串......例如 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 回答