Javascript 所有匹配项属性上的addClass
我有三个包含属性的容器。我想为父级上具有公共属性的所有匹配元素添加一个类。若我点击任何一个from侧边栏,主内容区域或标题类必须添加到所有匹配的属性上。(类似于在单击时触发所有三个属性) 代码如下: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='
<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");
});