gpt4 book ai didi

javascript - Css 菜单项选择问题 jQuery/cakephp

转载 作者:行者123 更新时间:2023-11-28 14:41:45 25 4
gpt4 key购买 nike

大家好,我正在用 cakephp 开发一个应用程序,并定义了一个元素 menu_top.ctp,如下所示:

<script type="text/javascript">var path =location.pathname;

`

    $(document).ready(function () {
alert(path);
/* select the menu nav tab based on the url */
$("#menu li a[href='" + [ path ] + "']").parents("li").each(function() {
$(this).addClass("current-menu-item");
});

});
</script>
<div id="welcomeMsg">
<?php

if($session->check('Auth.User')):
echo "<span style='float:right;color:#ffffff;'> Welcome ".$session->read('Auth.User.username')."</span>";
endif
?>
</div>
<div style="clear:both;"></div>
<div id="topNav">
<?php
if($session->check('Auth.User')): ?>
<ul id="menu" style="margin-top:10px;">
<li>
<?php echo $this->Html->link('Home',array('controller' => 'pages', 'action' => 'display', 'home')); ?>
</li>
<?php if($session->read('Auth.User.admin') == 1): ?>
<li class="">
<?php echo $this->Html->link('Admin',array('controller' => 'admin','action'=>'index')); ?>
</li>
<?php endif ?>
<li class="">
<?php echo $this->Html->link('Terms & Conditions/Privacy Policy',array('controller' => 'toc','action'=>'index')); ?>
</li>

<li class="">
<?php echo $this->Html->link('Contact Us',array('controller' => 'contact','action'=>'index')); ?>
</li>
<li class="">
<?php echo $this->Html->link('About Us',array('controller' => 'about','action'=>'index')); ?>
</li>
<li class="">
<?php echo $this->Html->link('Log Out',array('controller' => 'users','action'=>'logout')); ?>
</li>
</ul>

上面定义的 jquery 代码在浏览器中打开顶级 url 时选择菜单项,例如。 http://localhost/mysite/admin 将选择管理选项卡,但是当我打开 http://localhost/mysite/admin/users 时,选择会丢失。请帮我解决这个问题。谢谢。

最佳答案

document.ready 函数中,将选择器从

"#menu li a[href='" + [ path ] + "']" 

"#menu li a[href^='" + [ path ] + "']"

(注意 = 之前的 ^ 符号)

来源: http://www.w3.org/TR/css3-selectors/#attribute-substrings

关于javascript - Css 菜单项选择问题 jQuery/cakephp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5793863/

25 4 0