2014-04-03 72 views
0

我使用hasClass有條件,但$(this)返回,但它沒有工作。這是我的代碼;

$(document).ready(function(){ 
    if($('.cn_submenu li').hasClass('current')){ 
     $(this).parent().show(); 
    } 
}) 

但是,如果使用的$('.cn_submenu')代替$(this)它可以工作。 任何想法?

回答

2

我懷疑你是什麼真正試圖做的是展現出.cn_submenu內的任何liactive類的父。您當前的代碼查看是否的第一.cn_submenu第一li具有類active(忽略所有其他.cn_submenuli元素),然後使用this錯誤如果是這樣。

表現出任何li的父與active類,這是一個.cn_submenu內:

$(document).ready(function(){ 
    $(".cn_submenu li.active").parent().show(); 
}); 

如何工作的:

  • $(".cn_submenu li.active")選擇具有類active任何li元素是的後裔.cn_submenu
  • .parent()找到這些元素的(唯一的)一組直接父母。
  • .show()顯示它們(如果有的話)。
+1

是的,你有我!謝謝T.J! –

1

this指的是document在你的問題,所以你試圖show()document的父母。改爲使用$('.cn_submenu')