Javascript 所有匹配项属性上的addClass

Javascript 所有匹配项属性上的addClass,javascript,jquery,html,Javascript,Jquery,Html,我有三个包含属性的容器。我想为父级上具有公共属性的所有匹配元素添加一个类。若我点击任何一个from侧边栏,主内容区域或标题类必须添加到所有匹配的属性上。(类似于在单击时触发所有三个属性) 代码如下: <ul class='main-nav'> <li><a link-tab="lt-department" href=""> Departments </a></li> </ul> <ul class='

我有三个包含属性的容器。我想为父级上具有公共属性的所有匹配元素添加一个类。若我点击任何一个from侧边栏,主内容区域或标题类必须添加到所有匹配的属性上。(类似于在单击时触发所有三个属性)

代码如下:


<ul class='main-nav'>
    <li><a link-tab="lt-department" href=""> Departments </a></li>
</ul>    
<ul class='content tab-container'>
    <li><a link-tab="lt-department" href=""> Departments </a></li>
</ul>    
<ul class='sidebar'>
    <li><a link-tab="lt-department" href=""> Departments </a></li>
</ul>

请帮助,我该如何实现这一点。

如果您想要一次单击触发所有三个标记这样的功能,请尝试这样做:

$( document ).ready(function() {
   var linkTab = $('li a[link-tab]'); 
   $(linkTab).on('click', function(e){ 
        e.preventDefault(); 
        var attrName   = $(this).attr("link-tab");
        var matchLinks = $("a[link-tab=" + attributeName + "]");

        matchLinks.parent("li").addClass("active");
   });
});

试着这样做:

$("a[link-tab]").on('click', function (e) {
    e.preventDefault();

    var attributeName = $(this).attr("link-tab");
    var matchedLinks = $("a[link-tab=" + attributeName + "]");

    matchedLinks.parent("li").addClass("active");
});


我们的想法是寻找所有具有相同链接选项卡值的锚,在您的情况下是lt部门。然后,将.active类添加到它们的li父类中。

var linkTab=$('li a[link tab]')$(linkTab).on('click',函数(e){e.preventDefault();$(linkTab).parent('li').addClass('active');});在事件处理程序中,使用
this
而不是
linktab
。查看关于事件处理的jQuery教程。谢谢您的回答。但我已经试过了。问题是$(此)仅添加了类当前标记,而不是所有三个标记。我想要一些功能,比如触发所有三个标签单击。非常感谢。这真的会帮助我。嘿,宾迪亚·帕托利亚,你复制粘贴我的答案在你编辑的评论中!不,我没有复制你的ans,但是当我编辑它的时候,你已经发布了它,soYeah,这是我真正想要的。非常感谢。很高兴它有帮助。请给我1+1。
$("a[link-tab]").on('click', function (e) {
    e.preventDefault();

    var attributeName = $(this).attr("link-tab");
    var matchedLinks = $("a[link-tab=" + attributeName + "]");

    matchedLinks.parent("li").addClass("active");
});