javascript - 未捕获的类型错误 : Object #<HTMLLIElement> has no method 'has'

标签 javascript jquery html css

我正在尝试使用 jQuery 的 has我的其中一个菜单中的方法来检查当前是否为 <li>有任何 <ul>在里面。如果是,则显示它们,否则隐藏 li .

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

Uncaught TypeError: Object # has no method '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);
    }
});

最佳答案

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

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

关于javascript - 未捕获的类型错误 : Object #<HTMLLIElement> has no method 'has' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19339460/

相关文章:

javascript - ios 上的音频无法正常工作,仅第一次可以工作

javascript - 将两个字符串组合在一起

php - MySQL AJAX PHP 通知表布局

javascript - PHP 中的客户端时间

javascript - Canvas 矩形背景图像

java - JSF : How put onfocus, 输入字段中的模糊效果?

javascript - 在具有大型数据集的 HighStock 时间序列中设置附加点属性

javascript - Ajax不存储数据

jquery准备方法

android - 当我在 android webview 上加载时 html 文件中的图像路径