Jquery 类元素高亮显示,它取决于变量
情况如何?我在html.twig文件中有以下代码:Jquery 类元素高亮显示,它取决于变量,jquery,html,css,twig,Jquery,Html,Css,Twig,情况如何?我在html.twig文件中有以下代码: <div id="navbar" class="collapse navbar-collapse"> <ul class="nav navbar-nav"> {% if site == 'users'%} ... <li class="active"><a href="...">User list</a>&l
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
{% if site == 'users'%}
...
<li class="active"><a href="...">User list</a></li>
<li><a href="...">Register</a></li>
{% elseif site == 'registration' %}
<li><a href="welcome">Home</a></li>
...
<li class="active"><a href="...">Register</a></li>
{% else if site == '...' %}
.
.
.
{% endif %}
{%if site=='用户'%}
...
{%elseif site=='注册'%}
...
{%else如果站点=='…'%}
.
.
.
{%endif%}
它非常“脏”,强制多次重复代码,在这种情况下根本不存在可重用性
目标是什么?目标是通过放置所有
有什么问题吗?
如何达到最佳解决方案-即使用一个“if”或“bind”语句,而不是当前的“if”语句和可能值的数量的线性级数。也许应该使用JS函数或jQuery解决方案?下面是一种使用细枝打印已知链接数组的简明方法
{# Set array with links #}
{% set linkArray = [{'name': 'Home', 'href': '#home', 'site': 'user'},
{'name': 'Register', 'href': '#register', 'site': 'registration'}] %}
<ul class="nav navbar-nav">
{# Iterate over items #}
{% for i, item in linkArray %}
<li{% if site == item.site%} class="active"{% endif %}>
<a href="{{ item.href }}">{{ item.name }}</a>
</li>
{% endfor %}
</ul>
{#设置带链接的数组#}
{%set linkArray=[{'name':'Home','href':'#Home','site':'user'},
{'name':'Register','href':'#Register','site':'registation'}]]
{#迭代项目#}
{%i,linkArray%中的项}
{%endfor%}
查看高级菜单处理功能
更具体地说,请参见它们是如何影响菜单的:
问题是什么?@BarbaraLaird如何达到最佳解决方案-即使用一个if或“bind”语句,而不是使用当前的、带有可能值数量的“if”语句的线性级数。为了澄清,您有一个链接列表,并希望根据“site”变量显示/隐藏每个链接?而且您上面的代码有很多重复,您希望减少这些重复?@Quantumplate是的,例如,如果“site”变量等于“index”,则以下链接应包含“active”类:如果不是(例如等于“users”),则上述链接不应包含任何类:。所有链接也是如此。
{# Set array with links #}
{% set linkArray = [{'name': 'Home', 'href': '#home', 'site': 'user'},
{'name': 'Register', 'href': '#register', 'site': 'registration'}] %}
<ul class="nav navbar-nav">
{# Iterate over items #}
{% for i, item in linkArray %}
<li{% if site == item.site%} class="active"{% endif %}>
<a href="{{ item.href }}">{{ item.name }}</a>
</li>
{% endfor %}
</ul>