javascript - jQuery - 单击子元素但突出显示父元素?

标签 javascript jquery

我有一个像这样的html代码:

<ul>
    <li class="curent"><a href="home.html">Home</a></li>
    <li>
        <a href="javascript:void(0)">Products</a>
        <ul class="sub">
           <li><a href="samsung.html">Samsung</a></li>
           <li><a href="lenovo.html">Lenovo</a></li>
         </ul>
    </li>
    <li><a href="catalog_grid.html">News</a></li>
</ul>

http://img38.imageshack.us/img38/5795/70a.png

我想单击任何 a 标签,并且 li 标签父级突出显示。我尝试了这段代码,但它不适用于 ul has sub class 中的标签:

var this_url = window.location.href;

$('#block_nav_primary ul li').each(function() {
    if ($(this).children().attr('href') == this_url) {
        $('#block_nav_primary ul').find('li[class="curent"]').removeClass('curent');
        $(this).addClass('curent');
    }
});

有人能指出我正确的方向吗?

感谢您的帮助!

P/S:看起来像这个线程Highlight Parent Link in Navigation Menu With Jquery

最佳答案

我不确定我是否完全理解您的措辞,但您想对所有 LI 标记应用相同的效果,包括子列表中的标记?

替换这个:

$('#block_nav_primary ul li').each(function() {

这样:

$('#block_nav_primary ul').find('li').each(function() {

关于javascript - jQuery - 单击子元素但突出显示父元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17465266/

相关文章:

javascript - 除了切换内容之外,关闭页面上任何位置的切换 div

javascript - 为所有浏览器创建零宽度换行点

javascript - Vue.js 和 Firebase 'User' 信息

jquery - 如何使用 jQuery 在 div 中的文本后添加文件内容?

javascript - 下面的代码将向控制台输出什么?原因是什么?

javascript - 使用 jquery、nodejs、express、bootstrap 设置事件类的问题

jquery - ScrollTo 内容不居中

javascript - 从任何给定字符串中删除任何给定字符

javascript - 倒计时按钮 angularjs

javascript - 单击时背景淡入