我有一个递归函数:
function recursive($arrays, $out) {
if (is_array($arrays)){
//$out .= "<ul>";
foreach($arrays as $parent => $data) {
//if parent is empty
if ($parent === '') {
$out = recursive($data, $out);
continue;
}
$out .= "<li>";
if (is_array($data)){
$out .= ' <a href="#" class="dropdown-toggle active" data-toggle="dropdown">';$out .= $parent;
}
else
{ $directory =explode("@", $parent)[0];$paname = explode("@", $parent[1]; $link = 'http://127.0.0.1/ocos/index.php?module='.$directory.'/'.$paname;
$out .= '<a href="'.$link.'">'; $out .= $data;
}
if (is_array($data)){
$out .= '<b class="caret"></b></a>';
}
else
{
$out .= "</a>";
}
if (is_array($data)){
$out .= "<ul class='dropdown-menu'>";
$out = recursive($data, $out);
$out .= "</ul></li>";
}
else
{
$out .= "</li>";
}
}
} 返回$out;}
在菜单栏中,我有一个名为operation的父级下拉菜单,还有一个名为aro的子页,还有一个名为aro的子页,所以我想要的就是当我在aro document list中时,用绿色激活父operation,让用户知道他在菜单的哪个部分。先谢谢你
发布于 2017-07-28 15:03:33
我觉得你把事情搞得太复杂了。下面的是你需要的吗?当您单击a、b或c时,家长将获得绿色背景。
$("li").on("click", function() {
var grandparent = $(this).parent("ul").parent("li");
if (grandparent.length > 0) {
grandparent.css("background", "green");
}
});ul {
padding: 0;
list-style: none;
background: white;
}
li {
cursor: pointer;
}
.operations {
display: flex;
}
.operations li {
width: 25px;
}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="operations">
<li>1</li>
<li>2</li>
<li>3
<ul class="aro">
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</li>
</ul>
https://stackoverflow.com/questions/45366489
复制相似问题