2013-03-20 199 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>'); 
    } 
}); 

});

希望這是你所期望的。