我有三个包含属性的容器。我想为父项上具有公共属性的所有匹配元素添加一个类。如果我单击侧边栏中的任何一个,则必须在所有匹配的属性上添加主内容区域或标题类。 (像单击一样触发所有三个属性)。
以下是代码:
<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>
var linkTab = $('li a[link-tab]');
$(linkTab).on('click', function(e){
e.preventDefault();
$(linkTab).parent('li').addClass('active');
});
请帮忙,我该怎样才能做到这一点。
答案 0 :(得分:0)
如果你想要点击一下触发所有三个标签的功能,请尝试这样:
$( 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");
});
});
答案 1 :(得分:0)
尝试这样的事情:
$("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-department 中查找具有相同 link-tab 值的所有锚点。然后,将 .active 类添加到 li 父级。