2010-12-23 97 views
0

我想在元素的父項中添加類。如何將類添加到選定元素的父項

DOM的結構是:

<ul class="companies"> 
<li> 
<a id=""></a> 
<a id=""></a> 
</li> 
<li> 
<a id=""></a> 
<a id=""></a> 
</li> 
</ul> 

所有 「一」 元素的ID是自動的。

我想添加類到所選「a」的父「li」。

這裏是我的代碼:

$(".companies li a:selected").parent("li").addClass('selected'); 
selectDealer($(".companies li a:selected").attr("id")); 

但是當我點擊一個元素「a」,其母公司「禮」不會被選中。

有誰知道爲什麼?

感謝

+0

*選中*是什麼意思,當你點擊它時? – 2010-12-23 15:12:13

回答

2

認爲什麼你追求的是一個click處理這裏:

$(".companies li a").click(function() { 
    $(this).parent("li").addClass('selected'); 
    selectDealer(this.id); 
}); 

:selectedselected元素,就像在<select><option>元素的例子。如果你想在某個事件上發生某些事情,如click,請使用類似上面的事件處理程序。在處理程序中,this將引用事件發生的元素。

以上是爲了說明,更高效的版本將使用.delegate()這樣的:

$(".companies").delegate("li a", "click", function() { 
    $(this).parent("li").addClass('selected'); 
    selectDealer(this.id); 
}); 
0

你肯定一:選擇可以這樣用嗎?如果沒有測試我會說這是錯誤

1

鏈路不能「:選擇了」,這僅適用於選項元素。你的初始選擇器因此失敗。

相關問題