jquery - 如果页面处于事件状态,则更改 li 类

标签 jquery html css ruby-on-rails ruby-on-rails-4

在 rails 中,如果页面处于事件状态,我想更改 li 元素的类。我做了一个应用程序助手,但代码不起作用。如果我将代码放在元素之外,它就可以工作。 (比如在 p 标签内)

我的应用程序帮助文件如下所示:

  def activepage(path)
    ' class="active"' if current_page?(path)
  end

这是侧边栏部分的样子:

    <li<%= activepage(root_path) %>>
        <a href="blank-page.html"><i class="fa fa-fw fa-file"></i> Blank Page</a>
    </li>

如果我加载页面,看起来 li 不会被创建。知道为什么以及解决此问题的最优雅方法是什么吗?

谢谢!

最佳答案

尝试通过将 View 代码更改为以下方式来调试问题:

<li <%= current_page?(root_path) ? "class=active" : "class=not-active" %>>
    <a href="blank-page.html"><i class="fa fa-fw fa-file"></i> Blank Page</a>
</li>

如果 current_page?(root_path) 为真,则 li 类将处于事件状态,如果 current_page?(root_path) 为假,则该类将处于非事件状态。

如果 current_page?(root_path) 返回 false 那就是你的问题,class="active" 将永远不会被添加。

关于jquery - 如果页面处于事件状态,则更改 li 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26166055/

相关文章:

javascript - ajax done() 函数后数据重新加载

javascript - 浏览器如何读取 JavaScripts,它应该首先出现(设置在顶部):event? function? or sub function

jquery - 将窗口锁定到顶部的 div 位置

javascript - Jquery 选择 :contains text with html symbols

html - 并排水平对齐 div 中的 2 个表单

CSS 和 SEO 问题

javascript - 如何检测动态添加的 css 类

javascript - HTML/CSS float left 自动填充空白

css - 内容脱离背景

javascript - SVG:悬停时显示/隐藏文本或文本区域