gpt4 book ai didi

javascript - jQuery this() 似乎不起作用

转载 作者:行者123 更新时间:2023-12-02 18:58:34 26 4
gpt4 key购买 nike

我有这个简单的表单和验证,一切都工作得很好,除了“this”指向,嗯,我不知道是什么:

$('#contact').validator().submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: this.action,
data: {
mail: jQuery('input[name="mail"]').val(),
message: jQuery('textarea[name="message"]').val(),
success: function(){
$(this).hide();
}
});
});

我希望此代码在成功时隐藏#contact,但这永远不会发生。

我尝试alert(this),但我得到了[object Object],当我执行console.log( $( this) ) (只有旁边带有 + 的对象,当我单击 + 时,我会看到除此元素的类/id 之外的各种数据:( )。有什么想法吗?我的代码有问题吗?

最佳答案

thissuccess 方法的上下文中不引用单击的元素,您应该缓存该元素:

$('#contact').validator().submit(function(e){
e.preventDefault();
var $this = $(this); // cache the object
$.ajax({
type: "POST",
url: this.action,
data: {
mail: jQuery('input[name="mail"]').val(),
message: jQuery('textarea[name="message"]').val()
}, // missing }
success: function(){
$this.hide();
}
});
});

关于javascript - jQuery this() 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15048711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com