Javascript TypeError : $(. ..).parent 不是一个函数

标签 javascript jquery

当我点击以下代码时出现此错误:

onclick="tester.removeit(this);"

我得到错误:

TypeError: $(...).parent is not a function

函数如下:

removeit: function(ele) {

    $(ele).parent('div').fadeOut();
    console.log(this);

},

我该如何解决这个问题?

最佳答案

听起来像是库冲突,您在包含 jQuery 之后包含 PrototypeJS 或 MooTools。

当您这样做时,只有一个库可以使用 $ 作为其主要标识符。您可以通过 noConflict 告诉 jQuery“释放”$ :

<script src="jquery.js"></script>
<script>jQuery.noConflict();</script>
<script src="prototypejs.js"></script>

然后在要使用 jQuery 的代码中,使用 jQuery 而不是 $:

// ...
removeit: function(ele) {

    jQuery(ele).parent('div').fadeOut();
    console.log(this);

},
// ...

或者使用 jQuery 将所有代码包装在接受 $ 作为参数的 IIFE 中:

(function($) {
    // ...
    removeit: function(ele) {

        $(ele).parent('div').fadeOut();
        console.log(this);

    },
    // ...
})(jQuery);

关于Javascript TypeError : $(. ..).parent 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37025272/

相关文章:

javascript - 在 Angular 2 的字符串插值表达式中使用 Elvis 运算符

javascript - 通过在 JavaScript 中给出硬编码路径来获取文件对象

javascript - 在浏览器上计算空闲时间

javascript - 在 ID 等于 URL 最后一部分的 Span 上触发单击

javascript - 我无法将 jquery 代码转换为 javascript 代码

javascript - 在添加到 html 页面之前验证元素是否存在

IE 中的 Javascript 日期解析问题

javascript - 使用javascript没有jquery的淡入淡出效果?

javascript - 使用 jQuery 追加添加动态内容,然后访问它不起作用

javascript - 如何将一个 div 定位为 HTML5 视频播放器底部的一个 block ?