使用 ColdFusion 通过 URL 设置 CSS 类

Mac*_*ess 3 css coldfusion cfml

在下面的代码中,我希望li根据我当前所在的 url 使用 ColdFusion 在语法上将类设置为“活动”。所以在这个例子中,我登陆了 main.cfm 并且需要将该特定li类设置为活动。如果我在 www.mysite.com/review.cfm,我想将该类设置为“活动”。

<div id="menu">
    <ul>
        <li class="active"><a href="main.cfm">Main</a></li>
        <li class=""><a href="review.cfm" title="">Review</a></li>
        <li class=""><a href="https://www.mysite.com">My Site</a></li>
        <li class=""><a href="reporting">Reporting</a></li>
        <li class=""><a href="#">Logout</a></li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

Hen*_*nry 5

冷聚变 9:

<cfset class = ListLast(cgi.Script_Name, '/') EQ "main.cfm" ? "active" : "">
<li class="#class#"><a href="main.cfm">Main</a></li>
Run Code Online (Sandbox Code Playgroud)

ColdFusion 8 或以下,使用good old <cfif>

<cfset class = "">
<cfif ListLast(cgi.Script_Name, '/') EQ "main.cfm">
   <cfset class = "active">
</cfif>
<li class="#class#"><a href="main.cfm">Main</a></li>
Run Code Online (Sandbox Code Playgroud)

更新:或如 KRC 在评论中建议的那样(ColdFusion 8 或以下):

<li IIF(ListLast(cgi.Script_Name, '/') EQ "main.cfm", DE('class="active"'), '')>
  <a href="main.cfm">Main</a>
</li>
Run Code Online (Sandbox Code Playgroud)

  • 与其对 `Right( cgi.Script_Name, 8 )` 进行硬编码,你最好使用 `ListLast( cgi.Script_Name, '/' )` (2认同)