0

我对 jQuery 有疑问

<ul class="tabs">
    <li class="active"><a href="#doc-new">Home</a></li>
    <li><a href="#doc-fav">Profile</a></li>
    <li><a href="#doc-read">Messages</a></li>
</ul>

如何使用 jQuery 为<li>具有<a>href is doc-read设置活动?

<ul class="tabs">
        <li><a href="#doc-new">Home</a></li>
        <li class="active"><a href="#doc-fav">Profile</a></li>
        <li><a href="#doc-read">Messages</a></li>
</ul>

我可以找到#doc-read但不知道如何addClass做父母<li>

4

4 回答 4

5

“如何使用 jQuery 为具有 id 的文档设置活动<li><a>

那不是“id”,而是“href”。但无论如何,你会这样做:

$('a[href="#doc-read"]').parent().addClass("active");

但是,如果这个想法是将 li 设置为对于刚刚单击的任何锚元素都处于活动状态,那么您将执行以下操作:

$(document).ready(function() {
    $("ul.tabs a").click(function() {          // when any anchor clicked
        $("ul.tabs li").removeClass("active"); // remove current "active"
        $(this).parent().addClass("active");   // set "active" on parent
                                               // of clicked anchor
    });
});

演示:http: //jsfiddle.net/tsSQq/

于 2012-11-22T02:35:39.510 回答
2

提供锚标签 ID,例如“doc-read”。

$(".tabs li").removeClass('active')
$(".tabs li").find("#doc-read").parent('li').addClass('active');

在这里试一试 - jsFiddle

于 2012-11-22T02:56:22.607 回答
0

我在下面找到了该查询,并且它运行良好:

$('li:has(a[href="#doc-fav"])').addClass('active');
于 2012-11-22T02:51:47.640 回答
-1

只需使用 addClass() 和 removeClass()

$(".tabs>li:eq(0)").removeClass("active");
$(".tabs>li:eq(1)").addClass("active");
于 2012-11-22T02:33:20.690 回答