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

JQuery parent() selector on submit button selects container not form

本文关键字:表单 选择 选择器 按钮 JQueryparent 提交      更新时间:2023-09-26

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

我认为以下内容应该起作用:

$("#signup,#login").submit(function(){
    $(this).parent("form:first").css('background-color', 'red');
    return false;   
});

但是使用"form:first"选择器时,不会发生任何事情(可能是因为它正在选择容器div)。如果没有"form:first"选择器,则会选择容器div。

http://jsfiddle.net/tenfold/gupGD/

有人能帮忙吗?非常感谢。

您可以直接执行

$(this).css('background-color', 'red');

提交事件绑定到表单本身。

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

您可以使用.closest()方法

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

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

这里的文档摘录:

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