使用jquery动态地将类active激活到菜单项

时间:2013-09-25 10:53:24

标签: jquery html

我如何添加"活跃"等到" li"标记不是" a"标签。 我的代码:

var url = document.URL;
$('#example li a[href="'+url+'"]').addClass('active');

3 个答案:

答案 0 :(得分:1)

Alertnative#1 - 选择父项而不是子项

您可以使用:has()选择器。

var url = document.URL;
$('#example li:has(a[href="'+url+'"])').addClass('active');

备选方案#2 - 使用遍历功能转到父

您可以使用.parent()函数(如果锚是列表项的直接子项)。

var url = document.URL;
$('#example li a[href="'+url+'"]').parent().addClass('active');

另一个更通用的选择是使用.closest()函数(即使锚不是列表项的直接子项,这也会起作用)。

var url = document.URL;
$('#example li a[href="'+url+'"]').closest("li").addClass('active');

答案 1 :(得分:1)

使用parent功能。

var url = document.URL;
$('#example li a[href="'+url+'"]').parent().addClass('active');

答案 2 :(得分:0)

假设html是这样的:

 <div id='example'>
    <li>
       <a></a>
    </li>
 </div>

Jquery代码:

 var url = document.URL;
     $('#example li a').parent('li').attr('class','active');
     $('#example li a').attr('href',url);