我正在尝试在我的某个菜单中使用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);
}
});
答案 0 :(得分:3)
之后执行$(this)
的原因是因为this
不是jQuery对象。您仍然需要执行$(this).has('ul')
。
请注意,您还可以使用$(this).children('ul').slideToggle(250);
简化切换部分。