未捕获的TypeError:对象#<htmllielement>没有方法'has'</htmllielement>

时间:2013-10-12 21:39:44

标签: javascript jquery html css

我正在尝试在我的某个菜单中使用jQuery的has方法检查当前<li>中是否有<ul>。如果是,则显示它们,否则隐藏li

但是当使用has时,我收到此错误:

  

未捕获的TypeError:对象#没有方法'has'

我的代码:

$('nav ul li').click(function () {
    console.log(this.has('ul')); //Checking
    if ($(this).children('ul').is(":visible")) {
        $(this).children('ul').slideUp(250);
    } else {
        $(this).children('ul').slideDown(250);
    }
});

1 个答案:

答案 0 :(得分:3)

之后执行$(this)的原因是因为this不是jQuery对象。您仍然需要执行$(this).has('ul')

请注意,您还可以使用$(this).children('ul').slideToggle(250);简化切换部分。