javascript - 变量范围 : this. remove 不是函数

标签 javascript jquery

this.remove() 不是函数。怎么会?

var vehicle = function () {
    return {
        init: function () {
            jQuery('.vehicle-year-profile .options .delete').bind('click', function (e) {
                e.preventDefault();
                this.remove();
            });
        },
        remove: function () {
            alert('test');
        }
    }
}();

jQuery().ready(vehicle.init);

抱歉造成混淆。我正在尝试调用我自己的“删除”功能。这只是一个在我的页面上管理车辆的类。这是它的开始,它将具有比 init/remove 更多的功能。

最佳答案

this 是一个 DOM 元素。要使用 jQuery 的 .remove() 方法,您需要将其包装在一个 jQuery 对象中。

$(this).remove();

编辑:如果您希望调用vehicle 对象中的remove() 函数,则调用:

vehicle.remove();

此外,如果您希望缩短 .ready() 调用,您可以这样做:

jQuery(vehicle.init);

来自jQuery 1.4 release notes :

The jQuery().ready() technique still works in 1.4 but it has been deprecated. Please use either jQuery(document).ready() or jQuery(function(){}).

关于javascript - 变量范围 : this. remove 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3754273/

相关文章:

javascript - 如何将外部类调用到 AngularJS Controller 中

javascript - jQuery slideToggle 一次切换多个 Div

javascript - 使用正则表达式替换javascript中的情绪字符

javascript - 如何在函数中预先计算值查找

javascript - 开发 Backbone.js 应用程序教科书 : base. css 和 bg.png

javascript - 如何使用 JS 在 HTML 中动态添加图像链接?

javascript - 尝试滚动时如何修复闪烁效果

javascript - 选择中的 Jquery UI 自动完成索引号

javascript - jQuery:不要等到多次点击动画完成

php - 如何在滚动页面时将值加载到页面