Javascript 提交按钮上的JQuery parent()选择器选择容器而不是表单

Javascript 提交按钮上的JQuery parent()选择器选择容器而不是表单,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,在我的页面上,有两种形式。我只想选择单击提交按钮的那个 我认为以下几点可以解决问题: $("#signup,#login").submit(function(){ $(this).parent("form:first").css('background-color', 'red'); return false; }); 但是使用“form:first”选择器时,不会发生任何事情(可能是因为它正在选择container div)。如果没有“form:first”选择器,将选

在我的页面上,有两种形式。我只想选择单击提交按钮的那个

我认为以下几点可以解决问题:

$("#signup,#login").submit(function(){
    $(this).parent("form:first").css('background-color', 'red');
    return false;   
});
但是使用“form:first”选择器时,不会发生任何事情(可能是因为它正在选择container div)。如果没有“form:first”选择器,将选择容器div


有人能帮我做点什么吗?非常感谢

您必须使用
parents()
而不是
parent()

从文档中摘录:

.parents()和.parent()方法类似,只是 后者只在DOM树上移动一个级别


您必须使用
parents()
而不是
parent()

从文档中摘录:

.parents()和.parent()方法类似,只是 后者只在DOM树上移动一个级别

您可以使用
.nestest()
方法

$("#signup,#login").submit(function(){
    $(this).closest("form").css('background-color', 'red');
    return false;   
});
您可以使用
.nestest()
方法

$("#signup,#login").submit(function(){
    $(this).closest("form").css('background-color', 'red');
    return false;   
});
你可以这么做

$(this).css('background-color', 'red');
提交事件绑定到表单本身


另外,您不应该使用
return false
,而应该使用事件作为参数并调用
event.preventDefault()

,您可以这样做

$(this).css('background-color', 'red');
提交事件绑定到表单本身


另外,您不应该使用
return false
,而应该使用事件作为参数并调用
event.preventDefault()

$(this.parent().find('form:first')
$(this.parent().find('form:first')?非常好的注释,但放在注释部分plz。非常好的注释,但放在注释部分plz。“但是使用事件作为参数并调用event.preventDefault()“-通常这是正确的,但在这种情况下,停止事件冒泡不会造成任何伤害;提交事件只对表单有意义。@SamDufel确实如此,但我更愿意教正确的方法来做到这一点@ExplosionPills,你总是给出非常好和精确的答案。我只是想表达同样的观点@ROYFinley你会发现很难赢得一场反对任何知道自己在做什么的开发人员的辩论,即使他错了。@ExplosionPills可能,对吧,哈哈。。。正如我在这里的个人资料所说,我已经做了18年了,每天都在学习新的东西。“但是使用事件作为参数并调用event.preventDefault()”——一般来说这是正确的,但是在这种情况下,停止事件冒泡不会带来任何伤害;提交事件只对表单有意义。@SamDufel确实如此,但我更愿意教正确的方法来做到这一点@ExplosionPills,你总是给出非常好和精确的答案。我只是想表达同样的观点@ROYFinley你会发现很难赢得一场反对任何知道自己在做什么的开发人员的辩论,即使他错了。@ExplosionPills可能,对吧,哈哈。。。正如我在这里的个人资料所说,我已经做了18年了,每天都在学习新的东西。我从来都不知道
最近的
可以选择元素本身。不过,这是一个额外的步骤。您完全正确,在这个特定示例中,这是一个额外的步骤。当使用鼠标事件类型时,使用.closest方法测试元素本身的能力更有用。我认为你的答案比我的更正确。我从来不知道
最近的
可以选择元素本身。不过,这是一个额外的步骤。您完全正确,在这个特定示例中,这是一个额外的步骤。当使用鼠标事件类型时,使用.closest方法测试元素本身的能力更有用。我认为你的答案比我的更正确。