hasClass无法使用$(this)返回

时间:2014-04-03 22:16:45

标签: javascript jquery

我使用hasClass条件$(this)返回,但它没有用。这是我的代码;

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

但是,如果我使用$('.cn_submenu')代替$(this),它可以正常工作。 有什么想法吗?

2 个答案:

答案 0 :(得分:2)

我怀疑你真正尝试做的事情是在li内向active的父级显示.cn_submenu。您当前的代码会查看第一个 li第一个 .cn_submenu是否具有类active(忽略所有其他.cn_submenu 1}}和li元素),然后如果错误则使用this

要显示liactive.cn_submenu$(document).ready(function(){ $(".cn_submenu li.active").parent().show(); }); 的父母:

$(".cn_submenu li.active")

如何运作:

  • li选择active作为.cn_submenu后代的.parent()个元素。
  • .show()找到这些元素的(唯一的)直接父母集合。
  • {{1}}会显示它们(如果有的话)。

答案 1 :(得分:1)

this在您的问题中引用document,因此您尝试show() document的父级。请改用$('.cn_submenu')