我有这样的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

我想单击任何标签,并且li标签的父级已突出显示。我尝试使用此代码,但不适用于ul has子类中的标记:

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() {

09-17 12:19