2013-03-20 148 views
0

我的代码:http://codepen.io/anon/pen/ABrDe选择父元素从其子与jQuery

当我点击一个“A”从“礼”元素,我想让它变得“活跃”类和向右箭头(带我写给JS部分的'span')。 '主动'部分是可以的,但我对箭头部分感到困惑。我想我应该选择'li',而不是'a'。但我只给'积极'班'a'。我怎样才能选择''''级'主动''的父'?''?

回答

2

jQuery选择:

$("a").parent("li").hasClass("active"); 
0

使用parent方法。你

$("#resp-list a").click(function() { 
    var _this=$(this); 
    var parentItem=_this.parent(); 

    //do whatever you want with the parent. 
}); 

可能还需要使用append方法跨度添加到华里。

0

您检索与父对象:

var parent = $(this).parent(); 

所以在你的情况下,父jQuery对象将与下面的DOM:

<li> 
    <a href="#">Test ...</a> 
</li> 

而且它总是包裹的jQuery是一个好主意围绕一个物体在一个范围内一次。所以当你多次使用选择器时,将它保存到一个变量中。

var $this = $(this); 
var $parent = $this.parent(); 
0

看到这个:Fiddle

$("#resp-list a").click(function() { 
    $(this).parent().siblings().find('a').removeClass("active"); 
    $(this).addClass("active"); 
    $(this).parent().add('<span class="fr arrow-right"></span>'); 
}); 
0

我编辑你的小提琴表现为您期望。

http://cdpn.io/ABrDe

$("#resp-list > li").on('click', 'a', function() { 
     $("#resp-list > li > a").removeClass('active'); 
     $(this).addClass("active"); 
     $(this).parent().prepend('<span class="fr arrow-right"></span>'); 
    }); 
0

退房这个...

http://jsfiddle.net/qdZxQ/

$(文件)。就绪(函数(){ $( “#RESP-列表”)。点击(功能(){

$("#resp-list a").removeClass("active"); 
    $(this).addClass("active"); 
    if($(this).hasClass("active")){ 
     $("#resp-list a span").remove(); 
     $(this).append('<span class="fr arrow-right"></span>'); 
    } 
}); 

});

希望这是你所期望的。