Jquery 难以锁定兄弟姐妹
嗨,我有一个无序的列表:Jquery 难以锁定兄弟姐妹,jquery,dom,tree,traversal,Jquery,Dom,Tree,Traversal,嗨,我有一个无序的列表: <ul class="prodDetails"> <li class="details1"><a href="">Link1</a></li> <li class="details2"><a href="">Link2</a></li> <li class="details3"><a href="">Link3</a></
<ul class="prodDetails">
<li class="details1"><a href="">Link1</a></li>
<li class="details2"><a href="">Link2</a></li>
<li class="details3"><a href="">Link3</a></li>
</ul>
$("ul.prodDetails li.details1 a").addClass('prodDetailsOn').siblings().removeClass('prodDetailsOn');
$(“ul.prodDetails li.details1 a”).addClass('prodDetailsOn').sides().removeClass('prodDetailsOn');
我试图将类“prodDetailsOn”添加到单击的href中,同时将其从所有其他href中删除
不知怎的,我错过了目标。有什么想法吗
谢谢这实际上是一种常见的模式。我要做的是首先移除切换,然后在触发事件的东西上设置它
$('.prodDetails a').click(function () {
$('.prodDetails a.prodDetailsOn').removeClass('prodDetailsOn');
$(this).addClass('prodDetailsOn');
});
您必须返回到
元素才能获取其他li
$("ul.prodDetails li.details1 a").addClass('prodDetailsOn').parent('li').siblings().removeClass('prodDetailsOn');
这是小提琴我认为这是最好的答案,因为它可以纠正局部范围,而其他的则需要额外的查找。谢谢。这不太管用,但它帮助我解决了这个问题。我添加了find(“a”),它起作用了:$($ul.prodDetails li.details3A”).addClass('prodDetailsOn').parent('li').sides().find(“a”).removeClass('prodDetailsOn');
$("ul li a").click(function() {
$("ul li a").removeClass("propDetailsOn");
$(this).addClass('propDetailsOn');
})
$(function(){
$("a").click(function(e){
e.preventDefault();
$("a").not($(this)).removeClass("prodDetailsOn");
$(this).addClass("prodDetailsOn");
});
});